The Funtoo Linux project has transitioned to "Hobby Mode" and this wiki is now read-only.
Difference between revisions of "Package:PHP"
Threesixes (talk | contribs) m (fix a path) |
|||
(3 intermediate revisions by one other user not shown) | |||
Line 11: | Line 11: | ||
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. | 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. | ||
{{file|name=/ | {{file|name=/etc/portage/make.conf|desc=insert desired use flags|body= | ||
USE="php mysql mysqli apache2 fpm cgi......" | USE="php mysql mysqli apache2 fpm cgi......" | ||
}} | }} | ||
Line 34: | Line 34: | ||
==== tips ==== | ==== tips ==== | ||
==== Unix Socket ==== | |||
{{file|name=/etc/php/fpm-php5.6/php-fpm.conf|lang=|desc=use a unix socket for speed, security, and not consuming a port.|body= | |||
listen = /var/run/php-fpm/php-fpm.sock | |||
listen.backlog = -1 | |||
listen.owner = apache | |||
listen.group = apache | |||
listen.mode=0660 | |||
}} | |||
==== Change Php Fpm's User/Group ==== | ==== 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. | This is for php-fpm worker processes permissions. Making php-fpm workers work as the apache user makes most apache permission configurations work with out a bother. | ||
{{file|name=/etc/php/fpm-php5.6/php-fpm.conf|lang=|desc=make workers run as another user|body= | {{file|name=/etc/php/fpm-php5.6/php-fpm.conf|lang=|desc=make workers run as another user|body= | ||
;user = nobody | ;user = nobody |
Latest revision as of 10:30, November 9, 2015
PHP
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.
/etc/portage/make.conf
- insert desired use flagsUSE="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
Unix Socket
/etc/php/fpm-php5.6/php-fpm.conf
- use a unix socket for speed, security, and not consuming a port.listen = /var/run/php-fpm/php-fpm.sock listen.backlog = -1 listen.owner = apache listen.group = apache listen.mode=0660
Change Php Fpm's User/Group
This is for php-fpm worker processes permissions. 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 workerspm.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