php-fpm 慢查询日志和错误日志
1、php-fpm 错误日志
一般情况下,php错误日志的配置都在php.ini文件中
/usr/local/php/etc/php.ini --------------------------- error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT display_errors = Off log_errors = On ; Log errors to specified file. PHP's default behavior is to leave this value ; empty. ; http://php.net/error-log ; Example: ;error_log = php_errors.log ; Log errors to syslog (Event Log on Windows). ;error_log = syslog
- error_log 错误日志的生成目录
- error_reporting 生产环境错误级别应全开
- display_errors 在页面上不显示错误
- log_errors 开启错误日志
#默认位置 安装目录下的 log/php-fpm.log error_log = log/php-fpm.log #错误级别 alert(必须立即处理), error(错误情况), warning(警告情况), notice(一般重要信息), debug(调试信息). 默认: notice. log_level = notice
2、php-fpm慢日志(检查哪个脚本执行时间长)
php慢日志需要在php-fpm.conf设置,如果使用源码包安装默认请执行下面命令
cp php-fpm.conf.default php-fpm.conf
默认通过源码包编译安装php目录应在
/usr/local/php
目录下,如果你通过yum或者其他方式安装,不清楚或不知道php具体安装目录,可以使用
find / -name php-fpm.conf
#设置慢日志的存放位置,置默认在php的安装目录下的log文件夹中 log/$pool.log.slow slowlog = log/$pool.log.slow #设置一个超时的参数 request_slowlog_timeout = 1s # 0 则表示关闭
日志格式
3、记录php脚本执行出错日志
#php.ini中 log_errors = On error_log = /usr/local/php/var/log/error_log error_reporting=E_ALL #php-fpm.conf中 [没有必要设置] catch_workers_output = yes error_log = log/error_log
注意: php-fpm.conf 中 php_admin_value[error_log] 会覆盖php.ini中的值,但默认这些设置的注释掉的
注意1: php.ini 和 php-fpm.conf 修改后要记得 重启下 php-fpm 进程 sudo kill -USR2 11840(master 对应的pid)
注意2: 要保证php-fpm进程对 目录,文件有写的权限才可以,否则不会记录到日志也