Difference between revisions of "Package:PHP"

From Funtoo
Jump to navigation Jump to search
m (Drobbins moved page Package:Php to Package:PHP without leaving a redirect: caps)
m (add clock info and other stuff)
Line 33: Line 33:
Php-fpm is controlled by <code>/etc/php/fpm-php*.*/php-fpm.conf</code> and <code>/etc/php/fpm-php*.*/php.ini</code>
Php-fpm is controlled by <code>/etc/php/fpm-php*.*/php-fpm.conf</code> and <code>/etc/php/fpm-php*.*/php.ini</code>


==== pro tips ====
==== 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.
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
Line 43: Line 43:
}}
}}


limit worker numbers to 20 max.  When your server is behind a reverse proxy it doesn't need many workers.
==== Limiting Workers ====
Limit worker numbers to 20 max.  When your server is behind a reverse proxy it doesn't need many workers.
{{file|name=/etc/php/fpm-php5.6/php-fpm.conf|lang=|desc=limit workers|body=
{{file|name=/etc/php/fpm-php5.6/php-fpm.conf|lang=|desc=limit workers|body=
pm.max_children = 20
pm.max_children = 20
Line 51: Line 52:
}}
}}


== Media ==
==== Date & Time ====
=== Programming ===
Set the time and date for php web applications.  [http://php.net/manual/en/timezones.php full list of php timezones]
{{file|name=/etc/php/fpm-php5.6/php-fpm.conf|lang=|desc=limit workers|body=
[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 ====
{{#widget:YouTube|playlist=PL00694B0DAD604DE6}}
{{#widget:YouTube|playlist=PL00694B0DAD604DE6}}


{{EbuildFooter}}
{{EbuildFooter}}

Revision as of 21:32, March 10, 2015

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-fpm.conf - limit workers
[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