PHP在Ubuntu中的错误日志在哪
小樊
41
2025-11-16 20:53:09
PHP 在 Ubuntu 的常见错误日志位置
- Apache + mod_php:日志通常写入 /var/log/apache2/error.log。
- Nginx + PHP-FPM:PHP 错误常见写入 /var/log/php/版本号/fpm.log(如 /var/log/php/8.1/fpm.log),而 /var/log/nginx/error.log 主要记录 Nginx 与 PHP-FPM 通信的错误(如 502/504)。
- CLI 运行 PHP 脚本:默认写入 Apache 的错误日志;若 php.ini 设置了 error_log,则写入该自定义路径。
- 未配置 error_log 时:部分环境会把 PHP 错误写入 系统日志 /var/log/syslog。
以上路径会因系统与安装方式不同而有所差异,请以实际配置为准。
如何快速定位你机器上的日志文件
- 查看当前加载的 php.ini 与 error_log 指令:
- 命令:
php -i | grep 'Loaded Configuration File' 找到加载的配置文件;
- 命令:
grep -i error_log /etc/php/版本号/apache2/php.ini /etc/php/版本号/fpm/php.ini(将“版本号”替换为你的 PHP 版本)。
- 实时查看日志:
- Apache:
sudo tail -f /var/log/apache2/error.log
- PHP-FPM:
sudo tail -f /var/log/php/版本号/fpm.log
- 系统日志:
sudo tail -f /var/log/syslog | grep php
- 若你使用 PHP-FPM,也可在 /etc/php/版本号/fpm/pool.d/www.conf 中查看 error_log、catch_workers_output、php_admin_value[error_log] 等指令,它们可能覆盖 php.ini 的设置。
如何自定义日志路径并使其生效
- 编辑对应 SAPI 的 php.ini(如 /etc/php/版本号/apache2/php.ini 或 /etc/php/版本号/fpm/php.ini):
- 开启日志:
error_reporting = E_ALL
- 记录到文件:
error_log = /var/log/php_errors.log
- 确保日志目录可写(如
/var/log/php_errors.log 对 Web 服务用户可写)。
- 重启服务:
- Apache:
sudo systemctl restart apache2
- PHP-FPM:
sudo systemctl restart php版本号-fpm
- 注意:在生产环境建议关闭 display_errors,仅开启 log_errors,避免泄露敏感信息。