PHP

Revision as of 22:01, March 10, 2015 by Threesixes (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

dev-lang/php


Source Repository:Gentoo Portage Tree
Homepage

Summary: The PHP language runtime engine: CLI, CGI, FPM/FastCGI, Apache2 and embed SAPIs

Use Flags

cli
Enable CLI SAPI
embed
Enable embed SAPI
enchant
Add supports Enchant spelling library.
fileinfo
Add fileinfo extension support
filter
Add filter extension support
fpm
Enable the FastCGI Process Manager SAPI
gd
Adds support for gd (bundled with PHP)
hash
Enable the hash extension
json
Enable JSON support
ldap-sasl
Add SASL support for the PHP LDAP extension
mysqlnd
Use native driver for mysql, mysqli, PDO_Mysql
libmysqlclient
Use libmyslclient driver for mysql, mysqli, PDO_Mysql (not recommended)
intl
Enables the intl extension for extended internalization support
opcache
Enables built-in opcode cache, replacing pecl-apc et.al
pdo
Enable the bundled PDO extensions
phar
Enables the phar extension to provide phar archive support
sqlite2
Add sqlite2 support. Will be removed
xmlreader
Enable XMLReader support
xmlwriter
Enable XMLWriter support
xslt
Enable the XSL extension
vpx
Enable webp suppoprt for GD
zip
Enable ZIP file support

News

Drobbins

Subarch Profiles are coming...

Subarch profiles are on their way! Learn more here.
29 March 2015 by Drobbins
Drobbins

RSS/Atom Support

You can now follow this news feed at http://www.funtoo.org/news/atom.xml .
10 February 2015 by Drobbins
Drobbins

Creating a Friendly Funtoo Culture

This news item details some recent steps that have been taken to help ensure that Funtoo is a friendly and welcoming place for our users.
2 February 2015 by Drobbins
View More News...

PHP

Tip

This is a wiki page. To edit it, 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

# emerge php

Fpm

Fpm is a php handler. It is php daemonized.

init

To start the php-fpm service:

# rc-service php-fpm start

To start the php-fpm service at boot:

# 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