Chapter 8. Tuning
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 dress or suit you find at your local department store; they fit, but they don’t fit well. A tuned PHP installation is a custom tailored dress or 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.ini File
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/php/7.0/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/php/7.0/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, ...
Get Modern PHP now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.