PHP-FPM

From TBP Wiki
Jump to: navigation, search

PHP: Hypertext Preprocessor (or simply PHP) is a server-side scripting language designed for Web development. It was originally created by Rasmus Lerdorf in 1994; the PHP reference implementation is now produced by The PHP Group. PHP originally stood for Personal Home Page but it now stands for the recursive initialism PHP: Hypertext Preprocessor.

PHP code may be embedded into HTML code, or it can be used in combination with various web template systems, web content management systems, and web frameworks. PHP code is usually processed by a PHP interpreter implemented as a module in the web server or as a Common Gateway Interface (CGI) executable. The web server combines the results of the interpreted and executed PHP code, which may be any type of data, including images, with the generated web page. PHP code may also be executed with a command-line interface (CLI) and can be used to implement standalone graphical applications.

The standard PHP interpreter, powered by the Zend Engine, is free software released under the PHP License. PHP has been widely ported and can be deployed on most web servers on almost every operating system and platform, free of charge.

The PHP language evolved without a written formal specification or standard until 2014, with the original implementation acting as the de facto standard which other implementations aimed to follow. Since 2014 work has gone on to create a formal PHP specification.

PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI implementation with some additional features useful for sites of any size, especially busier sites.

The default location for php.ini is generally at /usr/local/lib/php.ini.

Pools

PHP-FPM pools are located within (/usr/local)/etc/php-fpm.d/. These pools are all separate rendering engines for each website that call to PHP functions. Each .conf file needs to be modified to work on either a separate port or socket for

   listen = 127.0.0.1:9000

or

   listen = (/usr/local)/var/run/php5-fpm.sock

A pool name needs to be specified as well. Everything else is up to how you need it configured. Please note that directories within parentheses are for BSD-like systems.