为什么WAMP中的Apache 2.1.7不会将PHP错误记录到PHP错误日志中?

时间:2011-02-23 19:06:16

标签: php apache

我安装了WAMP,并决定在最新版本的WAMP中使用默认的Apache 2.1.7;原因是我的主机服务器我的网站也使用2.1.7。以前,我在WAMP中使用Apache 2.2.11,因为我的上一个主机也使用了该版本。

我现在遇到的问题是我似乎有一些调试器或某些东西,因为我得到一个PHP错误,它显示如下图所示,错误没有记录到PHP错误日志,即使它已启用,等等。在php.ini。当我切换回早期的Apache版本时,所有错误都记录在PHP错误日志中。

所以它一定是Apache。基本上我希望PHP像以前一样将错误记录到PHP错误日志中。为什么会发生这种情况以及如何改变它?

我不介意错误的显示方式,因为它无论如何都有帮助,因为我可以看得更清楚,但我仍然喜欢它也可以登录到PHP错误日志。

以下是自WAMP中切换Apache版本以来的PHP错误;

这是图像:

Enter image description here

3 个答案:

答案 0 :(得分:18)

我设法对它进行排序。要重新启用PHP错误日志记录,请执行以下操作:

  1. 左键单击任务栏中的WAMP图标
  2. 然后将鼠标移到 PHP>
  3. 然后点击 php.ini
  4. 现在寻找:
  5. ; error_log =“c:/wamp/logs/php_error.log”

    (请注意,您的位置可能与您的位置不同,与我的位置不同。)现在只需从行首删除; 并保存php.ini并重新启动WAMP服务。

    要使错误看起来像在PHP中通常那样,并删除php.ini文件中的橙色框,请查找:

    zend_extension =“c:/wamp/bin/php/php5.3.5/zend_ext/php_xdebug-2.1.0-5.3-vc6.dll”

    ; 添加到行的开头并重新启动WAMP。现在WAMP将再次恢复正常。

    似乎新的WAMP禁用了PHP文件错误日志记录,而是在Apache错误日志中记录PHP错误。我不确定它是否曾经如此,但无论如何,它解决了我的问题。

答案 1 :(得分:2)

检查'new'Apache的phpinfo();输出,并将其与旧的Apache输出进行比较。 PHP的设置可以在3个地方被覆盖:http.conf,.htaccess和php.ini - 而PHP也可以有多个不同的php.ini。 phpinfo()是当前配置的权威来源,因为它在运行时查询PHP的内部信息,因此它将报告实际的“实时”设置。

如果设置有任何差异(特别是与日志相关的设置),那么您可以开始寻找覆盖的位置。

编辑:现在您的图像正在显示,这是一个提供信息的警告,而不是错误。意味着您正在尝试访问不存在的数组元素,例如类似于$_GET['this does not exist']

答案 2 :(得分:1)

我按照解决方案

  1. 左键单击任务栏中的WAMP图标
  2. 然后将鼠标移到PHP>
  3. 然后下载并点击php.ini。现在寻找:     ; error_log =" c:/wamp/logs/php_error.log;
  4. 现在只需删除;