我能';在CentOS 7.3和PHP7中,不要将php错误记录到自定义日志中
我在我能';在CentOS 7.3和PHP7中,不要将php错误记录到自定义日志中,php,apache,Php,Apache,我在public\uhtml中的php.ini中有一个 display_errors = on error_reporting = E_ALL | E_STRICT log_errors on error_log /home/account/public_html/error.log phpinfo显示正在加载public\u html中的php.ini文件。error\u log文件拥有755个权限,与public\u html中的所有其他文件属于同一组:所有者 但是,当我强制php错
public\uhtml
中的php.ini中有一个
display_errors = on
error_reporting = E_ALL | E_STRICT
log_errors on
error_log /home/account/public_html/error.log
phpinfo
显示正在加载public\u html
中的php.ini
文件。error\u log
文件拥有755个权限,与public\u html
中的所有其他文件属于同一组:所有者
但是,当我强制php错误时,不会显示或记录任何错误。错误记录在/usr/local/apache/logs/error\u log
中。我重新启动了apache
有什么想法吗?尝试改变:
log_errors on
error_log /home/account/public_html/error.log
到
接下来,在脚本顶部附近执行以下操作:
echo php_ini_loaded_file(); // to make sure that you're editing the right php.ini
echo ini_get('log_errors'); // should be '1'
echo ini_get('error_log'); // should be path from php.ini
如果设置与您设置的不匹配(我假设您重新启动了Apache),请检查php.ini
的其余部分以及Apache VirtualHost配置,以了解可能覆盖您设置的其他设置
当您运行phpInfo()
时,它有时会显示加载的ini
文件列表(不仅仅是您的基本php.ini
。其中一个文件还可能包含覆盖
最后,如果这些都不起作用,您可以使用ini\u set()
在脚本中设置错误日志记录。请注意,如果该脚本本身有错误,则此设置可能无法生效,因此最好在独立于主脚本的脚本中执行,并且需要它
main.php
require_once('./init.php);
// ... your regular script
ini_set('log_errors', '1');
ini_set('error_log', '/path/to/errors.log');
init.php
require_once('./init.php);
// ... your regular script
ini_set('log_errors', '1');
ini_set('error_log', '/path/to/errors.log');
当您运行
phpinfo
时,它来自apache实例或CLI?我也不会将您的错误日志放在public\u html
文件夹中。phpinfo由web浏览器从public\u html查看。错误日志只是临时用于修复错误;我会将其删除。谢谢!我在日志出错后丢失了=/code>,但我也查看了它phpinfo和另一个php.ini文件的显示错误设置为off。使用echo
ini设置的方法也可以工作。还有许多其他ini文件,但只有一个php.ini。