Debug PHP Enabling slow log
Contents
Debugging PHP Scripts with slow_log
When working with php, you will notice that your site is taking longer to load then expected. Learning why your site is loading so slow would be great. You can do an strace but sometimes that information is not always the best to read.
Setup slow_log for PHP Scripts
You will need to edit the php-fpm pool configuration file.
vim /etc/php-fpm.d/www.conf
Now add or adjust the following lines to enable php slow log loading.
slowlog = /var/log/php5/slow.log request_slowlog_timeout = 5s
Setup PHP error log from your php-fpm Pool
You will also notice that some of the errors are now showing up in the error.log from the apache logs. You will also want to setup the php-fpm error log.
vim /etc/php-fpm.d/www.conf
Now add the following lines to enable php error log, this will over ride the default php error log lettings.
php_admin_value[error_log] = /var/log/php5/error.log php_admin_flag[log_errors] = on
Setup the PHP-FPM error log
PHP-FPM is a separate process and will need its own error log, which can also be setup in the php-fpm pool file.
vim /etc/php-fpm.d/www.conf
Now add the following lines to your configuration file
error_log = /var/log/php5/php-fpm-error.log
Now you will want to restart php-fpm so the above changes are used.
service php-fpm restart
Now that everything is setup, you can view the logs by running the following command
tail -f /var/log/php5/*.log
That will tail all the log files at once