The Funtoo Linux project has transitioned to "Hobby Mode" and this wiki is now read-only.
Package:PHP
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