在 CentOS 上定位 PHP 日志,一般分 PHP 自身错误日志 和 Web 服务器(Nginx/Apache)日志 两类。下面按常见场景说明。
不同方式日志位置不同:
php -v
which php
ps aux | grep php
常见三种:
php --ini
# 或
rpm -ql php-fpm | grep pool
通常位置:
/etc/php-fpm.conf
/etc/php-fpm.d/www.conf
grep -i "error_log" /etc/php-fpm.conf /etc/php-fpm.d/www.conf
常见输出:
error_log = /var/log/php-fpm/error.log
php_admin_value[error_log] = /var/log/php-fpm/www-error.log
tail -f /var/log/php-fpm/error.log
tail -f /var/log/php-fpm/www-error.log
php --ini
通常是:
/etc/php.ini
grep -E "log_errors|error_log|display_errors" /etc/php.ini
示例:
log_errors = On
error_log = /var/log/php/php_error.log
可以临时开启:
log_errors = On
error_log = /var/log/php/php_error.log
然后:
mkdir -p /var/log/php
chown apache:apache /var/log/php
systemctl restart php-fpm
tail -f /var/log/httpd/error_log
/etc/httpd/conf/httpd.conf
/etc/httpd/conf.d/php.conf
tail -f /var/log/nginx/error.log
tail -f /var/log/nginx/access.log
命令行 PHP 一般:
error_log 指定的文件测试:
php -r 'error_log("test php log");'
log_errors=Ontail -f 实时观察如果你愿意,可以告诉我:
我可以给你精确到文件的命令。