在我们的 Apache 访问日志中,我们注意到用户偶尔会收到 500 错误。这很可能是我们 CodeIgniter 代码中的数据库查询问题。在我们看到错误之前,我们无法确定如何修复它。因此,我正在尝试将错误打印到错误日志中并且一直失败。这是我所在的位置:
- 在 Apache 的 php.ini 文件 (/etc/php/7.2/apache2/php.ini) 中打开错误日志记录:
log_errors = On
- CodeIgniter 中的错误报告设置为:
error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_USER_NOTICE);
- 该站点的 Apache vhosts 配置指定了一个错误日志 (/var/log/apache2/minans_error.log),其中填充了有关我们在 .htaccess 文件中阻止的 IP 的通知,但没有 500 个错误。
- php.ini 中的错误最大长度已设置为 0 行:
log_errors_max_len = 0
我在 CodeIgniter 中强制开启 log_errors:
ini_set('log_errors', 1);
我将错误日志文件的权限更改为 666。
我在 CodeIgniter 中强制使用错误日志文件:
ini_set('error_log', '/var/log/apache2/minans_error.log');
我希望有人能告诉我哪里出了问题,建议尝试其他方法,或者如果我误解了 Apache 记录错误的能力,可以向我指出这一点。