在 PHP 中使用 WAMP 服务器记录错误

Posted

技术标签:

【中文标题】在 PHP 中使用 WAMP 服务器记录错误【英文标题】:Error logging with WAMP server in PHP 【发布时间】:2012-03-03 02:40:26 【问题描述】:

我有一个在 Windows 7 机器上运行的 WAMP 2.2 服务器,并且根本无法让 php 错误日志记录正常工作。

即使我明确触发 USER_ERROR 错误或导致正常的 ERROR 错误,该文件也始终为空白。

我将php.ini 文件的错误相关部分包括在内 - 希望您能找到一些东西:

error_reporting = E_ALL

error_log = "c:/wamp32/logs/php_error.log" ;(UNCOMMENTED BY ME)

log_errors = On
display_errors = On

【问题讨论】:

您的 php 设置中是否激活了日志错误? 检查 Apache 错误日志,你可能会发现有一个惊喜...... 【参考方案1】:

您是否尝试将这些行添加到您的 php 文件中?

ini_set("display_errors", "1");
ini_set("log_errors", "1");
ini_set("error_log", "/wamp64/logs/php_error.log");

【讨论】:

【参考方案2】:

对我来说,这是一个权限错误。我最终让每个人都完全控制了错误日志文件,它似乎解决了我的问题。祝你好运。

【讨论】:

虽然一开始这可能会解决问题,但它可能会带来很多其他问题。在文件权限方面我不是专家,但给每个人完全权限听起来不是一个好主意。 我不推荐这个修复。我当然同意这不是出于安全原因的最佳解决方案,但如果您发现自己处于紧要关头,它可能会让您继续前进。至少它会让您知道您的问题在于文件权限。【参考方案3】:

; log_errors 行只是对以下块的注释,目的是向您展示开发与生产中的设置。您取消了对不用于控制任何内容的四行的注释,我很惊讶您的 Apache 服务没有因此而出现问题。

你需要做的是寻找线:

log_errors = Off

并将值更改为On

也就是说,一旦您重新启动 Apache 服务,设置就会生效。但是,尽管有这些设置,我还是无法让 WampServer 正确记录 php 错误。当我指定error_log 参数时,Apache 将无法启动。

【讨论】:

JYelton-感谢您指出我的第一个错误(我是个白痴)-我用相关设置更新了我的问题-问题是 log_errors 设置为 On,所以这不是问题. 我认为这是 WAMP 特有的问题。设置 log_errors 可以工作(例如,允许 Apache 运行),但只要您还指定了日志文件...... blammo。 Apache 不会启动。 (至少在我的情况下。) Woot,现在来解决我的副本问题,因为这是它可以工作的证据! 请记住,我使用的是实际的 WAMPServer 2.2 软件-不知道您的 WAMP 设置是否相同.. 我有 log_error = Onerror_log = "c:/wamp/logs/php_error.log" 但 WAMP 无法启动。当error_log 被注释掉时,它就开始了。您设法解决了您的问题吗?

以上是关于在 PHP 中使用 WAMP 服务器记录错误的主要内容,如果未能解决你的问题,请参考以下文章

WAMP中的生产和开发

全新安装时切换 Apache / PHP 版本的 WAMP 服务器错误

在本地 WAMP 或 XAMPP 服务器中插入限制

xampp 服务器到 wamp 服务器错误

路由错误或 wamp 错误?

如何在 WAMP 服务器中安装 Imagick?