php.ini设置display_errors为off不生效

php.ini设置了display_errors还是输出错误信息到结果,网上查了一下终于查到原因,转过来备着

原url http://www.9enjoy.com/php-display-errors/

某台服务器php.ini的设置:
error_reporting = E_ALL & ~E_NOTICE
display_errors = Off
log_errors = On
error_log = /www/logs/php_error.log

按理说这样,错误信息是不会输出了,但是当PHP有错误时,会把报错提示显示在页面上。

搜索了下,发现有人说当log_errors开启时,如果error_log的路径不对,会导致报错显示。经查与此无关。

输出phpinfo(),查看到display_errors是On。在页面中指定:ini_set("DISPLAY_ERRORS",0),仍然无效!

最后发现php-fpm.conf里有句:

引用
Additional php.ini defines, specific to this pool of workers.
                        <value name="php_defines">
                           <value name="sendmail_path">/usr/sbin/sendmail -t -i</value>
                           <value name="display_errors">1</value>
                        </value>


原来忘了修改这个地方的配置,display_errors被设置为1了!这里面也说明了在php_defines里可以额外指定某些php的参数。
直接将这两段注释掉,php-fpm reload后,报错提示不再显示到页面上了。

你可能感兴趣的:(php.ini设置display_errors为off不生效)