温馨提示×

centos php日志怎样排查问题

小樊
51
2026-09-15 05:58:01
栏目: 编程语言

在 CentOS 上排查 PHP 问题,核心就是看日志 + 定位配置 + 复现错误。下面按常见场景给你一套实用排查思路。


一、先确认 PHP 运行方式

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

php -v
which php
ps aux | grep php

常见三种:

  1. PHP-FPM(最常见,搭配 Nginx/Apache)
  2. Apache mod_php
  3. CLI 命令行 PHP

二、PHP 错误日志在哪里

1️⃣ PHP-FPM 日志(重点)

PHP-FPM 错误日志

# 查看 fpm 配置
php-fpm -t

一般路径:

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

查看:

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

PHP 脚本错误日志(php.ini 配置)

php --ini

检查:

log_errors = On
error_log = /var/log/php/php-error.log

如果没有设置,错误可能:

  • 写进 Nginx/Apache 错误日志
  • 或直接不记录

2️⃣ Nginx + PHP 常见问题

Nginx 错误日志:

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

访问日志:

tail -f /var/log/nginx/access.log

典型错误:

  • FastCGI sent in stderr: "PHP message: ..."
  • connect() failed (111: Connection refused)
  • Primary script unknown

3️⃣ Apache + PHP

tail -f /var/log/httpd/error_log

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

方法 1:修改 php.ini

display_errors = On
error_reporting = E_ALL
log_errors = On

重启:

systemctl restart php-fpm
# 或
systemctl restart httpd

方法 2:代码中临时打开(不推荐生产)

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

四、常见 PHP 问题排查清单

✅ 1. 白屏 / 500 错误

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

常见原因:

  • 语法错误
  • 内存不足
  • 超时

✅ 2. 内存不足

日志示例:

PHP Fatal error: Allowed memory size exhausted

解决:

memory_limit = 256M

✅ 3. 执行超时

Maximum execution time of 30 seconds exceeded
max_execution_time = 120

✅ 4. 权限问题

ls -l /var/log/php

确保 php-fpm 用户(如 apache / nginx)有写权限。


✅ 5. PHP 扩展缺失

php -m
php -i | grep extension

五、快速排查命令合集

# 实时看错误
tail -f /var/log/php-fpm/error.log

# 测试 PHP 配置
php -t
php-fpm -t

# 查看 PHP 错误配置
php -i | grep error

六、生产环境建议

  • ❌ 不要 display_errors = On
  • ✅ 只开 log_errors
  • ✅ 日志按天分割(logrotate)
  • ✅ 监控 500 错误率

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

  • CentOS 版本
  • Nginx / Apache
  • PHP 版本
  • 具体报错内容

我可以直接帮你精确定位。

0 踩