在 CentOS 上“导出 PHP 日志”通常分几种情况,下面按最常见场景给你说明,你可以直接对着用。
php --ini
或
php -i | grep php.ini
然后查看:
grep -E "error_log|log_errors" /etc/php.ini
常见配置:
log_errors = On
error_log = /var/log/php/php_errors.log
如果
error_log没设置,PHP 错误通常会写入 Web 服务日志(见下)。
/var/log/php-fpm/error.log
/var/log/nginx/error.log
/var/log/httpd/error_log
cp /var/log/php-fpm/error.log /root/php_error.log
或导出到本地(Windows):
scp root@服务器IP:/var/log/php-fpm/error.log .
tail -n 500 /var/log/php-fpm/error.log > php_error_500.log
grep "$(date +%Y-%m-%d)" /var/log/php-fpm/error.log > today_php.log
journalctl -u php-fpm --since "1 hour ago" > php_last_hour.log
如果你在代码里用了:
error_log("xxx", 3, "/data/logs/app.log");
直接导出:
cp /data/logs/app.log /root/app.log
# 压缩导出
tar -czf php_logs.tar.gz /var/log/php-fpm/
# 或只看错误
grep "PHP Fatal error" /var/log/php-fpm/error.log > fatal.log
ps aux | grep php
ps aux | grep nginx
ps aux | grep httpd
如果你愿意,可以告诉我:
我可以直接给你一条可用命令。