温馨提示×

PHP日志文件在Debian中的位置

小樊
32
2025-12-28 02:14:43
栏目: 编程语言

debian 上 php 日志的默认位置与排查路径

常见默认路径

  • 使用 apache 模块模式(mod_php):php 错误通常写入 /var/log/apache2/error.log
  • 使用 nginx + php-fpm:php-fpm 错误常见于 /var/log/php-fpm.log/var/log/php7.x-fpm.log(x 为 php 版本);同时 /var/log/nginx/error.log 也会记录与 php 相关的请求错误。
  • 使用 php-cgi/fastcgi 或自定义路径:可能在 /var/log/php_errors.log/var/log/php-cgi.log,具体以配置为准。

如何快速确认你的实际日志路径

  • 在 php 内查看当前生效配置:
    • 命令行:php -r “echo ini_get(‘error_log’);”
    • 或创建 php 文件输出:
  • 在 php.ini 中查找 error_log 指令:
    • 常见路径示例:/etc/php/7.x/apache2/php.ini 或 /etc/php/7.x/fpm/php.ini(将 7.x 替换为你的版本)。
  • 检查 php-fpm 池配置(若为 fpm):/etc/php/7.x/fpm/pool.d/www.conf 中的 error_log 项。
  • 全盘搜索自定义日志路径:grep -r “error_log” /etc/php/。
  • 使用 systemd 查看服务日志:journalctl -u apache2 或 journalctl -u php7.x-fpm。

确保日志正常写入的配置与权限

  • 在 php.ini 中开启并正确指向日志:
    • log_errors = on
    • error_reporting = e_all
    • error_log = /var/log/php_errors.log(确保目录存在且 php 进程可写)
    • 生产环境建议 display_errors = off,避免敏感信息泄露。
  • 修改后重启相应服务:systemctl restart apache2 或 systemctl restart php7.x-fpm。
  • 若仍无日志,检查日志目录与文件权限(如 www-data 或 fpm 运行用户需可写)。

常用查看与分析命令

  • 实时查看:tail -f /var/log/apache2/error.log 或 tail -f /var/log/php-fpm.log
  • 关键字过滤:grep -i “fatal|warning” /var/log/php_errors.log
  • 分页浏览:less /var/log/php-fpm.log
  • 统计高频错误:grep -c “error” /var/log/apache2/error.log 或 sort /var/log/php_errors.log | uniq -c | sort -nr

0