温馨提示×

Ubuntu下PHP错误日志在哪

小樊
48
2025-10-22 22:57:16
栏目: 编程语言

Ubuntu下PHP错误日志的位置取决于Web服务器类型及PHP运行模式,以下是常见场景的默认路径及查看方法:

1. Apache作为Web服务器(mod_php模式)

  • 错误日志路径:Apache会将PHP错误合并到自身的错误日志中,默认位置为/var/log/apache2/error.log
  • 查看命令:使用tail命令实时查看最新错误(需管理员权限):
    sudo tail -f /var/log/apache2/error.log 

2. Nginx作为Web服务器(PHP-FPM模式)

  • PHP-FPM错误日志:PHP-FPM的错误日志默认位于/var/log/php-fpm.log(部分系统可能为/var/log/php7.x-fpm.log,其中7.x为PHP版本号,如php7.4-fpm.log)。
  • Nginx错误日志:Nginx本身的错误日志(包含PHP处理错误)位于/var/log/nginx/error.log
  • 查看命令
    sudo tail -f /var/log/php-fpm.log # PHP-FPM错误 sudo tail -f /var/log/nginx/error.log # Nginx错误(含PHP) 

3. 自定义错误日志路径

若通过php.ini修改了错误日志位置,需检查配置文件中的error_log参数:

  • 查找php.ini路径
    php -i | grep 'Loaded Configuration File' 
  • 查看error_log设置:在php.ini中搜索error_log,例如:
    grep -i "error_log" /etc/php/7.4/apache2/php.ini 
    若配置了自定义路径(如/var/log/custom_php_error.log),则直接查看该文件:
    sudo tail -f /var/log/custom_php_error.log 

注意事项

  • 权限问题:错误日志文件通常需管理员权限才能查看,建议使用sudo
  • 动态修改生效:若修改了php.ini或Web服务器配置,需重启对应服务(如sudo systemctl restart apache2sudo systemctl restart php7.x-fpmsudo systemctl restart nginx)。
  • 版本差异:Ubuntu系统中的PHP版本(如7.4、8.1、8.2)会影响日志路径,需根据实际安装的版本调整(如php7.4-fpm.log替换为php8.1-fpm.log)。

0