让php不显示错误
A. 如何有效的屏蔽掉php警告和错误提示
1.没有权限修改php.ini:在脚本中写入以下代码动态的配置php.ini
ini_set("display_errors","Off");2.如果想一劳永逸每个脚本调试的时候都不想在脚本中配置则在php.ini文件中将
error_reporting(E_ALL^E_NOTICE^E_WARNING);
display_errors=On/*修改成*/display_errors=Off
log_errors=off/*修改成*/log_errors=on
error_log=filename/*修改成*/error_log='错误日志路径'
此外注意错误日志文件的权限,www要有写和执行权限。
3.但是有时你知道脚本中有个别部分的代码有可能变量会 不存在 为空 的因素,可以使用楼下的方法 在这些代码前加上错误抑制符@
B. 关闭PHP错误脚本提示的详解
最简单的办法就是直接在php程序代码中加入下面代码
代码如下error_reporting(E_ALL^E_NOTICE^E_WARNING);
可以关闭所有notice 和 warning 级别的错误
把这个语句放在您脚本的功用包含文件中 通常为config php 或者conn php 中就可以控制输出了
当然我也也可以在php ini中进行设置了方法如下
打开PHP安装目录下的php ini文件
找到display_errors = On 修改为 display_errors = off
注意:如果你已经把PHP ini文件复制到windows目录下 那么必须同时把c:windows/php ini里的display_errors = On 修改为display_errors = off
PHP ini中display_errors = Off失效的解决
问题
PHP 设置文件php ini中明明已经设置display_errors = Off 但是在运行过程中 网页上还是会出现错误信息
解决
打开PHP安装目录下的php ini文件
找到log_errors = off 修改为 log_errors = on
找到error_log = filename 修改为 error_log="D:PHPerrlogphp_error log" (这里的目录和文件名D:PHPerrlogphp_error log随便你取什么)
注意:如果你已经把PHP ini文件复制到windows目录下 那么必须同时把c:windows/php ini文件
此外php_error log至少要有USER的修改和写权限 否则无法输出错误日志
经常见到error_reporting( )直意为 设定错误讯息回报的等级
value constant
E_ERROR
E_WARNING
E_PARSE
E_NOTICE
E_CORE_ERROR
E_CORE_WARNING
E_PILE_ERROR
E_PILE_WARNING
E_USER_ERROR
E_USER_WARNING
E_USER_NOTICE
E_ALL
E_STRICT
然而 = + +
代码如下 <?php //禁用错误报告 error_reporting( ); //报告运行时错误 error_reporting(E_ERROR | E_WARNING | E_PARSE); //报告所有错误 error_reporting(E_ALL); ?> lishixin/Article/program/PHP/201311/21242
C. 怎么设置php.ini,让所有错误都不提示
使用任一文本编辑器打开php.ini文件
搜索找到display_errors所在的行
如果前面有#号,则删除#(#为注释符号,该行#后面的内容都是注释内容),如果该行前面有#,则该行的设置为注释内容不会生效,所以要先去除#(例如你找到一行内容为#display_errors = Off,则去掉前面的#即可生效),没有则忽略此步骤
将display_errors的值改为Off
保存文件
重启服务器即可
扩展:
php.ini为php环境的配置文件,通常所有配置都已经写好,但并没有开启,它们会在行首添加#以注释掉此功能。需要修改的时候,只需要删除#即可打开功能,不需要自己写一条新的配置。
更多配置内容可以参看php的官方文档。
D. PHP没有错误提示
PHP没有错误提示是设置错误造成的,解决方法为;
1、确认了PHP的配置文件的路径之后,在文本编辑器打开该文件。
E. 通过PHP.ini关闭php错误信息回显的方法
php的错误回显为代码调试提供了诸多方便,可以让我们快速找到错误所在,不过有时候,显示错误信息会使一些敏感信息暴露出来,对程序安全造成负面影响,为此,通过php.ini配置文件,我们可以在不调试程序的时候将其关闭,方法如下:
打开PHP.ini,找到display_errors,将后面的值改为off,同时设置error_reporting为E_ALL。如下所示:
display_errors
=
Off
error_reporting
=
E_ALL
如下也可以:
display_errors
=
Off
error_reporting
=
E_ALL
&
~E_NOTICE
注意:如果设置display_errors
=
Off不起效的话,请将log_errors设置为Off。根据PHP官方资料,当log_errors设置为On时,就必须指定error_log文件,如果未指定或者指定的文件无写权限,那么同样会使display_errors=Off失效,错误信息还是会被显示出来,所以说,将log_errors
=
Off,问题就彻底解决了。