重新启动
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 所示。