我刚刚尝试了一个简单的 hello world,其中缺少一个分号,但得到的是空白页。
知道为什么 PHP 拒绝显示错误吗?
没有错误的脚本可以完美运行。
另外,我记得在某处读到过,Apache 或 PHP 附带一个示例配置文件,需要将其重命名以删除 .sample 或类似的内容。
由于我不太擅长服务器管理,我更愿意使用 Apache/PHP 提供的任何示例。我在哪里可以找到此示例配置?也许它可以解决这个问题(以及尚未出现的其他问题)。
我正在测试的 PHP 脚本(缺少分号)
<?php
echo "Hello"
echo "sup";
?>
答案1
display_errors = On
在 /etc/php5/apache2/php.ini 中设置。
答案2
在 /etc/php5/apache2/php.ini 中,你需要
display_errors = On
error_reporting = E_ALL | E_STRICT
甚至
display_startup_errors = On
E_STRICT 不是严格必要的,但我认为报告这些也是最佳做法。
然而,你应该仅在开发服务器上执行此操作。显示错误可能会导致密码泄露等安全问题。您可能希望在 Web 应用的配置部分中设置这些值 - 根据 Web 服务器是开发服务器还是生产服务器。
if ($_SERVER['SERVER_NAME'] == 'my.production.url') {
ini_set('display_errors', false);
}
else {
ini_set('display_errors', true);
}
请注意,如果虚拟主机配置为您也可以通过 IP 地址加载网站,则 $_SERVER['SERVER_NAME'] 可能不可靠。在这种情况下,请替换适合您环境的替代测试(例如获取服务器的主机名,或测试 REMOTE_ADDR 是否为 localhost)。