您的位置:首页 >PHP-FPM在Linux下的错误日志怎么查
发布于2026-05-02 阅读(0)
扫一扫,手机访问

排查问题,第一步当然是找到日志在哪。这事儿其实不难,关键得知道去哪儿看配置文件。
首先,你得查看 PHP-FPM 的进程日志配置。主配置文件通常是 /etc/php-fpm.conf,但更具体的配置往往在进程池文件里,比如 /etc/php/{版本号}/fpm/pool.d/www.conf。你需要关注几个关键指令:error_log(错误日志路径)、access.log(访问日志,可选)、slowlog(慢日志,可选)以及 log_level(日志级别)。
如果懒得翻配置文件,也可以直接试试发行版的常见路径:
/var/log/php-fpm/error.log 和 /var/log/php-fpm/access.log。/var/log/php-fpm/error.log,也可能是类似 /var/log/php7.x-fpm.log 的格式。/var/log/php7-fpm/error.log。话说回来,如果配置里压根没设 error_log,那日志可能就跑到别处去了。部分环境会把错误信息打到系统日志(比如 /var/log/syslog),或者直接混入 Web 服务器的错误日志里,比如 Nginx 的 /var/log/nginx/error.log 或 Apache 的 /var/log/apache2/error.log。找不到的时候,不妨去这些地方看看。
找到日志文件后,怎么高效地查看和分析,就是接下来的重头戏了。下面这些命令,可以说是运维的日常必备。
tail -f /var/log/php-fpm/error.log 就行。tail -n 200 /var/log/php-fpm/error.log。grep 快速筛选。例如,查找所有包含“error”、“WARNING”或“segfault”的行:grep -i “error” /var/log/php-fpm/error.log。grep “2025-12-24” /var/log/php-fpm/error.log。tail -f /var/log/php-fpm/*.log。journalctl -u php-fpm -n 50 --no-pager。grep -i “php-fpm” /var/log/syslog。需要警惕的是,多数日志文件需要 sudo 权限才能读取,操作时记得加上。
最棘手的情况,莫过于服务起不来,或者日志文件压根没动静。别慌,按这个顺序往下查。
php-fpm -t 或 php{版本号}-fpm -t。systemctl status php-fpm 看状态,再用 journalctl -u php-fpm -n 50 --no-pager 看最近的系统日志信息。netstat -tulnp | grep 9000。检查 Socket 文件:ls -l /run/php/php{版本号}-fpm.sock。/run/php-fpm)存在且权限正确。示例命令:mkdir -p /run/php-fpm && chown -R www-data:www-data /run/php-fpm && chmod 755 /run/php-fpm。同样,日志目录的权限也要检查:chown -R www-data:www-data /var/log/php-fpm/。systemctl restart php-fpm 或 service php{版本号}-fpm restart。掌握了基本操作,再来点进阶技巧,能让排查工作更游刃有余。
error_log:一个是 PHP-FPM 进程的,另一个是 PHP 解析器自身的。在 php.ini 中,关注 error_reporting、log_errors 和 error_log 这几个指令。前者记录 FPM 进程与管理事件,后者记录 PHP 脚本解析或执行时的错误,别搞混了。phpinfo():如果配置复杂不确定,临时创建一个包含 phpinfo() 函数的 PHP 文件并访问,可以清晰地看到所有实际生效的配置路径,包括 error_log。tail -f /var/log/php-fpm/slow.log 实时跟踪,就能揪出那些执行时间过长的脚本。其实,日志排查就像破案,顺着线索(日志路径、错误信息、系统状态)一步步来,真相自然水落石出。上面这套组合拳打下来,绝大多数 PHP-FPM 的日志问题都能迎刃而解。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9