php开启与关闭错误提示
在php中开启与关闭错误提示的方法有几种一种可以直接在程序中使用相关函数来开户,另一种我们可以使用php.ini中配置参数来控制,下面我们详细解释两种方法:
一、直接在PHP代码中添加是否显示错误信息
<?php // 关闭错误报告 error_reporting(0); //关闭错误报告另外一种方法 ini_set("display_errors", "off"); // 报告 runtime 错误 error_reporting(E_ERROR | E_WARNING | E_PARSE); // 报告所有错误 error_reporting(E_ALL); // 等同 error_reporting(E_ALL); ini_set("error_reporting", E_ALL); // 报告 E_NOTICE 之外的所有错误 error_reporting(E_ALL & ~E_NOTICE); ?>
error_reporting()函数是用来设置错误级别并返回当前级别的。它有14个错误级别,如下:
1 E_ERROR 致命的运行时错误。 错误无法恢复过来。脚本的执行被暂停
2 E_WARNING 非致命的运行时错误。 脚本的执行不会停止
4 E_PARSE 编译时解析错误。解析错误应该只由分析器生成
8 E_NOTICE 运行时间的通知。
16 E_CORE_ERROR 在PHP启动时的致命错误。这就好比一个在PHP核心的E_ERROR
32 E_CORE_WARNING 在PHP启动时的非致命的错误。这就好比一个在PHP核心E_WARNING警告
64 E_COMPILE_ERROR 致命的编译时错误。 这就像由Zend脚本引擎生成了一个E_ERROR
128 E_COMPILE_WARNING 非致命的编译时错误,由Zend脚本引擎生成了一个E_WARNING警告
256 E_USER_ERROR 致命的用户生成的错误。
512 E_USER_WARNING 非致命的用户生成的警告。
1024 E_USER_NOTICE 用户生成的通知。
2048 E_STRICT 运行时间的通知。
4096 E_RECOVERABLE_ERROR 捕捉致命的错误。
8191 E_ALL 所有的错误和警告。
二、修改PHP.INI
如果你能控制服务器修改php.ini的话,如下即可:
在PHP.INI中
找到display_errors = On 修改为 display_errors = off
如果在windows下且你已经把PHP.ini文件复制到windows目录下,那么必须同时把c:/windows/php.ini里的display_errors = On 修改为display_errors = off
PHP .ini中display_errors = Off失效的解决
在linux系统中开启与关闭错误提示方法差不多,不过我还是具体给大家介绍一下
linux系统下
1. 打开php.ini文件。
以我的ubuntu为例,这个文件在: /etc/php5/apache2 目录下。
2. 搜索并修改下行,把Off值改成On
代码如下
display_errors = Off
3. 搜索下行
代码如下
error_reporting = E_ALL & ~E_NOTICE
或者搜索:
error_reporting = E_ALL & ~E_DEPRECATED
修改为
error_reporting = E_ALL | E_STRICT
4. 修改Apache的 httpd.conf
以 Ubuntu 为例, 这个文件在:/etc/apache2/ 目录下,这是一个空白文件
添加以下两行:
代码如下
php_flag display_errors on
php_value error_reporting 2039
5. 重启Apache,就OK了。
重启命令:
代码如下
sudo /etc/init.d/apache2 restart
- 最新评论