开启PHP 的错误报告方法(转)

来源:互联网 发布:神机妙算软件怎么用 编辑:程序博客网 时间:2024/05/24 23:15
PHP 的错误报告

  php.ini文件中有许多配置设置。您应当已经设置好自己的 php.ini 文件并把它放在合适的目录中,就像在 Linux 上安装 PHP 和Apache 2 的文档说明中所示的那样(请参阅 参考资料)。在调试PHP 应用程序时,应当知道两个配置变量。下面是这两个变量及其默认值:

display_errors = Off error_reporting = E_ALL
  通过在 php.ini 文件中搜索它们,可以发现这两个变量当前的默认值。display_errors 变量的目的很明显 ——它告诉 PHP 是否显示错误。默认值是 Off。但是,要让开发过程更加轻松,请把这个值设为 On:

display_errors = On
  error_reporting 变量的默认值是 E_ALL。这个设置会显示从不良编码实践到无害提示到出错的所有信息。E_ALL对于开发过程来说有点太细,因为它在屏幕上为一些小事(例如变量未初始化)也显示提示,会搞糟浏览器的输出。我只想看到错误和不良编码实践,但是不想看到无害的提示。所以,请用以下值代替error_reporting 的默认值:

error_reporting = E_ALL & ~E_NOTICE
  重新启动 Apache,就全部设置好了。接下来,将学习如何在 Apache 上做同样的事。

  服务器上的错误报告

  依赖于 Apache 正在做的工作,在 PHP 中打开错误报告可能没法工作,因为在计算机上可能有多个 PHP 版本。有时很难区分Apache 正在使用哪个 PHP 版本,因为 Apache 只能查看一个 php.ini 文件。不知道 Apache 正在使用哪个php.ini 文件配置自己是一个安全问题。但是,有一种方法可以在 Apache 中配置 PHP变量,从而保证设置了正确的出错级别。

  而且,最好知道如何在服务器端设置这些配置变量,以否决或抢占 php.ini文件,从而提供更高级别的安全性。

  在配置 Apache 时,应该已经接触过 /conf/httpd.conf 中 http.conf文件中的基本配置。

  要做在 php.ini 文件中已经做过的事,请把下列各行添加到 httpd.conf,覆盖任何 php.ini文件:

php_flag  display_errors        on php_valueerror_reporting       2039
  这会覆盖在 php.ini 文件中为 display_errors 已经设置的标志,以及 error_reporting 的值。值2039 代表 E_ALL & ~E_NOTICE。如果愿意采用 E_ALL,请把值设为 2047。同样,还是要重启Apache。

  接下来,要在服务器上测试错误报告。
0 0
原创粉丝点击