快捷搜索:   nginx

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

顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论