Package:PHP

From Funtoo
Revision as of 22:01, March 10, 2015 by Threesixes (talk | contribs) (fix a path)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

PHP

   Tip

We welcome improvements to this page. To edit this page, Create a Funtoo account. Then log in and then click here to edit this page. See our editing guidelines to becoming a wiki-editing pro.

PHP is a server-side scripting language designed for web development but also used as a general-purpose programming language.

Install

Use Flags

By default php does not have the cgi, FPM/FastCGI, mysql, mysqli, apache2 use flag turned on. Many packages are php aware, set the php global use flag so other applications can interact with php.

   /usr/portage/make.conf - insert desired use flags
USE="php mysql mysqli apache2 fpm cgi......"

Emerge

root # emerge php

Fpm

Fpm is a php handler. It is php daemonized.

init

To start the php-fpm service:

root # rc-service php-fpm start

To start the php-fpm service at boot:

root # rc-update add php-fpm

Configuration

Php-fpm is controlled by /etc/php/fpm-php*.*/php-fpm.conf and /etc/php/fpm-php*.*/php.ini

tips

Change Php Fpm's User/Group

Making php-fpm workers work as the apache user makes most apache permission configurations work with out a bother.

   /etc/php/fpm-php5.6/php-fpm.conf - make workers run as another user
;user = nobody
;group = nobody
user = apache
group = apache

Limiting Workers

Limit worker numbers to 20 max. When your server is behind a reverse proxy it doesn't need many workers.

   /etc/php/fpm-php5.6/php-fpm.conf - limit workers
pm.max_children = 20
pm.start_servers = 1
pm.min_spare_servers = 1
pm.max_spare_servers = 19

Date & Time

Set the time and date for php web applications. full list of php timezones

   /etc/php/fpm-php5.6/php.ini - set date and time
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =

the same procedures can be done for other php implementations at

  • /etc/php/cli-php5.6/php.ini
  • /etc/php/apache2-php5.6/php.ini
  • /etc/php/cgi-php5.6/php.ini

Media

Programming