为了账号安全,请及时绑定邮箱和手机立即绑定

Apache2、mpm_event + PHP-FPM 错误记录在同一行

Apache2、mpm_event + PHP-FPM 错误记录在同一行

PHP
芜湖不芜 2023-04-02 15:13:16
我昨天将我的 Debian7 升级到 Debian10,并使用 php-fpm (php 7.4) 从 prefork 更改为 mpm_event错误消息和 error_log 输出在我的 /apache/error.log 文件中显示为: 我已经替换了文件名、ip 和端口。[Tue May 19 11:26:38.506805 2020] [proxy_fcgi:error] [pid 28334:tid 139811391133440] [client (ip):(port)] AH01071: Got error 'PHP message: PHP Notice:  Undefined variable: SQL_ERROR in (file) on line 198PHP message: PHP Notice:  Undefined variable: SQL_ERROR in (file) on line 200PHP message: PHP Notice:  Undefined variable: SQL_ERROR_MSG in (file) on line 201PHP message: PHP Notice:  Undefined variable: SQL_command in (file) on line 202'并且所有错误都被缓冲,并在同一行上输出(很难调试)。php-fpm 使用 www-data 用户error.log 对 www-data:www-data 有 640 权限php-fpm/pool.d/www.conf 得到了 error.log = /var/log/apache2/error.log关于为什么我没有直接在 error.log 文件中获取错误日志,您有什么建议吗?编辑:所有 PHP 配置均来自全新安装。
查看完整描述

2 回答

?
www说

TA贡献1775条经验 获得超8个赞

我有和你一样的系统,Debian 10,php-fpm 7.3(而不是 7.4),apache2,并且有同样的问题,输出混乱。

我用一个小脚本解决了它,手动添加换行符 \n 和一个用于漂亮打印的制表符 \t

#!/bin/sh
tail -f "/var/log/apache2/$1" | sed 's/PHP\s/\n\tPHP\s/g'

现在我看到每条消息都在一个新行上,也有一个简单的缩进。你可以给脚本起任何名字,我选择了 greplog,放置在具有足够权限的系统路径上,并将日志文件名作为参数传递


查看完整回答
反对 回复 2023-04-02
?
喵喵时光机

TA贡献1846条经验 获得超7个赞

从 Debian 7 升级到 Debian 10 时,您的 PHP 版本可能已从 5.4 升级到 7.4。

PHP 7 有许多重大更改,所以我猜您的代码正在使用一些已删除的功能/命中引入的语法更改。


查看完整回答
反对 回复 2023-04-02
  • 2 回答
  • 0 关注
  • 96 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信