background image

 
重新启动

 Apache,就全部设置好了。接下来,将学习如何在 Apache 上做同样的事。

服务器上的错误报告

 赖于 Apache 正在做的工作,在 PHP 中打开错误报告可能没法工作,因为在计算机上可能

有多个

 PHP 版本。有时很难区分 Apache 正在使用哪个 PHP 版本,因为 Apache 只能查看一

 php.ini 文件。不知道 Apache 正在使用哪个 php.ini 文件配置自己是一个安全问题。但是,

有一种方法可以在

 Apache 中配置 PHP 变量,从而保证设置了正确的出错级别。

而且,最好知道如何在服务器端设置这些配置变量,以否决或抢占

 php.ini 文件,从而提供

更高级别的安全性。
在配置

 Apache 时,应该已经接触过 <apache2-install-dir>/conf/httpd.conf 中 http.conf 文件中

的基本配置。
要做在

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

php_flag  display_errors        on
php_value error_reporting       2039

 会覆盖在 php.ini 文件中为 display_errors 已经设置的标志,以及 error_reporting 的值。值

 

2039 代表 E_ALL & ~E_NOTICE。如果愿意采用 E_ALL,请把值设为 2047。同样,还是要重

 Apache。

接下来,要在服务器上测试错误报告。
测试错误报告
如果启动了错误报告,会节约许多时间。

PHP 中的错误会指向代码中的错误。请创建一个简单

 PHP 文件 test.php,并像清单 1 所示一样定义它。

清单

 1. 一个生成错误的简单 PHP

<?php
print("The next line generates an error.<br>");
printaline("PLEASE?");
print("This will not be displayed due to the above error.");
?>
第一个

 print() 语句会向 Web 浏览器显示它的内容。但是第二个语句会生成错误并在 Web 页

面上显示。这造成最后一个

 print() 语句不起作用,如图 1 所示。