在 Ubuntu 服务器上全新安装 Apache/PHP 时 PHP 未显示错误

在 Ubuntu 服务器上全新安装 Apache/PHP 时 PHP 未显示错误

我刚刚尝试了一个简单的 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)。

相关内容