发布于2026-05-21 阅读(0)
扫一扫,手机访问
在Ubuntu服务器上跑PHP应用,错误日志就是你的“黑匣子”。它不会主动打扰你,但一旦程序出现异常,所有的线索都静静地躺在那里。一套清晰的日志管理策略,能让你在排查问题时事半功倍。今天,我们就来梳理一下在Ubuntu系统中管理PHP错误日志的几个关键步骤。

一切从配置文件开始。PHP的行为主要由 php.ini 文件控制,你需要根据PHP的运行方式找到正确的文件。
/etc/php/{version}/cli/php.ini;如果PHP是通过Apache模块运行的,则修改 /etc/php/{version}/apache2/php.ini;若是Nginx搭配PHP-FPM,则通常是 /etc/php/{version}/fpm/php.ini。请将 {version} 替换为你实际的PHP版本号,比如7.4或8.1。error_reporting = E_ALL
display_errors = Off
log_errors = On
error_log = /var/log/php_errors.log
error_reporting:建议设置为 E_ALL,确保捕获所有级别的错误和警告,不留盲区。display_errors:在生产环境中,务必设为 Off。这能防止敏感的调试信息直接暴露给终端用户,既安全又专业。log_errors:自然要设为 On,这是启用日志记录功能的开关。error_log:这里指定日志文件的存放路径。示例中的 /var/log/php_errors.log 是常见选择,你可以根据需要自定义。修改配置后,必须重启相关服务才能使新设置生效。
sudo systemctl restart apache2
sudo systemctl restart php{version}-fpm
# 如有必要,也可重启Nginx
sudo systemctl restart nginx
配置生效后,错误信息就会开始写入你指定的日志文件了。
tail -f 命令可以实时监控日志的最新动态,这对调试线上问题非常有用。
sudo tail -f /var/log/php_errors.log
logrotate 工具就是为此而生。
/etc/logrotate.d/php 或类似 /etc/logrotate.d/php7.4-fpm 的文件中。sudo logrotate -vf /etc/logrotate.d/php
最后一个常见但关键的步骤是权限。如果PHP进程没有写入权限,所有的配置都将失效。
www-data,PHP-FPM下可能在 www-data 或独立的 php-fpm 用户组)需要对日志文件有写权限。sudo touch /var/log/php_errors.log
sudo chown www-data:www-data /var/log/php_errors.log
sudo chmod 664 /var/log/php_errors.log
走完以上四步——配置、重启、监控、权限——你的Ubuntu系统上的PHP错误日志管理就算走上正轨了。这套流程能确保错误被有效记录、安全存储并定期维护,为系统的稳定运行和问题排查打下坚实的基础。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8