温馨提示×

centos php日志怎么找问题

小樊
36
2026-09-09 02:57:39
栏目: 编程语言

在 CentOS 上排查 PHP 问题,核心就是看日志 + 定位配置。下面按“从哪看 → 怎么看 → 常见坑”给你一套实用方法。


一、先确认 PHP 是哪种运行方式

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

php -v
which php

常见三种:

  1. PHP CLI(命令行)
  2. PHP-FPM(Nginx / 反向代理最常见)
  3. Apache + mod_php(较少见)

二、PHP 错误日志在哪(最常用)

1️⃣ 看 php.ini 配置

php --ini

查看:

log_errors = On
error_log = /var/log/php/php_errors.log
display_errors = Off   ; 生产环境应为 Off

如果没有 error_log,错误可能写到:

  • 系统日志:/var/log/messages
  • 或 Web 服务器日志

2️⃣ PHP-FPM 日志(Nginx 用户重点)

# 找 fpm 配置
php-fpm -t

通常在这里:

/etc/php-fpm.conf
/etc/php-fpm.d/www.conf

关键配置:

catch_workers_output = yes
php_admin_value[error_log] = /var/log/php-fpm/www-error.log
php_admin_value[log_errors] = On

查看日志:

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

3️⃣ Nginx / Apache 日志(经常一起看)

# Nginx
tail -f /var/log/nginx/error.log
tail -f /var/log/nginx/access.log

# Apache
tail -f /var/log/httpd/error_log

三、最快定位问题的方法

✅ 实时看错误(推荐)

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

然后刷新页面 / 触发请求,马上能看到报错。


✅ 临时打开错误显示(调试用)

php.ini

display_errors = On
error_reporting = E_ALL

改完重启:

systemctl restart php-fpm

⚠️ 生产环境调试完一定要关掉


四、常见 PHP 问题 & 日志表现

问题 日志表现
500 错误 PHP Fatal error
白屏 无输出 + error_log 有错
超时 execution time exceeded
内存不足 Allowed memory size exhausted
权限问题 Permission denied
找不到类 Class not found

五、排错 checklist(建议照着做)

  1. 确认 PHP 运行方式(fpm / cli)
  2. 找到对应 error_log
  3. tail -f 实时看
  4. 复现问题
  5. 根据报错搜代码 / 改配置
  6. 重启服务

如果你愿意,可以直接把:

  • PHP 版本
  • 用的 Nginx / Apache
  • 报错日志贴出来

我可以帮你精准定位是哪一行配置或代码出的问题

0