温馨提示×

怎样定位ubuntu php日志错

小樊
42
2026-10-21 00:35:23
栏目: 编程语言

在 Ubuntu 上定位 PHP 日志错误,通常可以从错误日志位置、运行模式(CLI / FPM / Apache)、配置项几个方面入手。下面按常见场景给你一个清晰流程。


一、先确认 PHP 运行方式

不同方式,日志位置不同:

php -v
  • CLI:命令行直接运行
  • PHP-FPM:Nginx + PHP
  • Apache mod_php:Apache 内嵌 PHP

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

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

日志通常在:

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

例如:

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

实时查看:

tail -f /var/log/php8.1/www-error.log

2. Apache + mod_php

PHP 错误一般写入 Apache 错误日志:

/var/log/apache2/error.log

查看:

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

3. CLI 模式

CLI 默认不写日志文件,直接输出到终端。

若想写文件,需要配置 php.ini。


三、确认 php.ini 中的错误设置

找到使用的 php.ini:

php --ini

或(FPM):

php-fpm8.1 -i | grep "Loaded Configuration File"

关键配置:

display_errors = On
log_errors = On
error_log = /var/log/php_errors.log
error_reporting = E_ALL

修改后重启:

sudo systemctl restart php8.1-fpm
# 或
sudo systemctl restart apache2

四、快速定位错误的方法

1. 查看最近错误

grep -i error /var/log/php*.log

2. 查看某个接口报错

tail -f /var/log/php8.1/www-error.log

然后访问页面,观察输出。

3. 临时在代码中打印

error_log("test log");

或

var_dump($var); exit;

五、常见问题排查清单

  • ✅ 文件/目录权限问题
  • ✅ open_basedir 限制
  • ✅ 内存不足(Allowed memory size exhausted)
  • ✅ 超时(Maximum execution time)
  • ✅ 未捕获的异常

六、如果你愿意,我可以更精确地帮你

你可以告诉我:

  1. Ubuntu 版本
  2. PHP 版本
  3. Web 服务(Nginx / Apache)
  4. 报错内容或现象

我可以直接帮你定位日志文件 + 分析错误原因。

0 踩