By this point, your PHP application should be running alongside nginx with its own PHP-FPM process pool. We’re not done yet, though. We should tune PHP’s configuration with settings appropriate for your application and production server. Default PHP installations are like an average suit you find at your local department store; they fit, but they don’t fit well. A tuned PHP installation is a custom tailored suit prepared with your exact measurements.
Don’t get too excited. PHP tuning is not a universal cure for application performance. Bad code is still bad code. For example, PHP tuning cannot solve poorly written SQL queries or unresponsive API calls. However, PHP tuning is a low-hanging fruit that can improve PHP efficiency and application performance.
The PHP interpreter is configured and tuned with a file named php.ini. This
file can live in one of several directories on your operating system. If you run
PHP with PHP-FPM, as I demonstrated earlier, you can find the php.ini configuration
file at /etc/php5/fpm/php.ini. Oddly enough, this php.ini file does not control
the PHP interpreter used when you invoke
php on the command line. PHP on
the command line uses its own php.ini file often located at /etc/php5/cli/php.ini.
If you built PHP from source, the php.ini location is likely beneath the
$PREFIX directory specified when you configured the PHP source files. I’ll assume you’re running PHP with PHP-FPM as described, but all of these optimizations ...