温馨提示×

ubuntu php日志怎么找异常

小樊
45
2026-09-21 17:49:00
栏目: 编程语言

在 Ubuntu 上排查 PHP 异常(错误、警告、致命错误等),一般分 PHP 自身日志、Web 服务器日志 和 应用框架日志 三块来看。


一、先确认 PHP 错误日志在哪

1. 查看 php.ini 配置

php --ini

常见路径:

  • /etc/php/8.1/cli/php.ini
  • /etc/php/8.1/fpm/php.ini
  • /etc/php/8.1/apache2/php.ini

查看关键配置:

grep -E "log_errors|error_log|display_errors" /etc/php/8.1/fpm/php.ini

重点看:

log_errors = On
error_log = /var/log/php/php-error.log
display_errors = Off   # 生产环境一般关闭

二、常见 PHP 日志位置(Ubuntu)

1. PHP-FPM(最常见,Nginx + PHP)

/var/log/php/php-error.log
/var/log/php-fpm.log

或:

/var/log/php8.1-fpm.log

2. Apache + PHP

/var/log/apache2/error.log

3. Nginx + PHP

/var/log/nginx/error.log
/var/log/php/php-error.log

三、快速查找异常的方法

1. 实时查看错误

tail -f /var/log/php/php-error.log

2. 查找 Fatal / Exception

grep -i "fatal\|exception\|error" /var/log/php/php-error.log

3. 按时间看最近异常

tail -n 200 /var/log/php/php-error.log | less

四、如果没日志(常见坑)

1. 目录不存在或无权限

sudo mkdir -p /var/log/php
sudo chown www-data:www-data /var/log/php

2. PHP-FPM 没重启

改完 php.ini 后:

sudo systemctl restart php8.1-fpm

3. 框架自己吞了错误

  • Laravel
    storage/logs/laravel.log
    
  • ThinkPHP
    runtime/log/
    
  • WordPress wp-config.php 加:
    define('WP_DEBUG', true);
    define('WP_DEBUG_LOG', true);
    
    日志在:
    wp-content/debug.log
    

五、临时开启详细错误(调试用)

在 php.ini:

display_errors = On
error_reporting = E_ALL

或在代码里:

ini_set('display_errors', 1);
error_reporting(E_ALL);

六、推荐排查流程(实战)

  1. 先 tail -f 错误日志
  2. 复现问题
  3. 看是 PHP 错误 还是 Nginx/Apache 错误
  4. 再看 业务框架日志
  5. 根据堆栈定位代码行

如果你愿意,可以告诉我:

  • Ubuntu 版本
  • PHP 版本(如 7.4 / 8.1)
  • Web 服务(Nginx / Apache)
  • 框架(Laravel / ThinkPHP / 原生)

我可以直接帮你定位具体日志路径和异常原因。

0 踩