【问题标题】:Turn error reporting ON xampp打开错误报告 xampp
【发布时间】:2012-09-26 01:35:53
【问题描述】:

所以我有 xampp 并且这个东西根本不会报告任何东西......我什至强制一个错误并且它没有做任何事情......

我用过

error_reporting(-1);
ini_set( 'display_errors', 1 );

根据本文档http://php.net/manual/en/function.error-reporting.php

error_reporting(E_ALL); 也没有做任何事情......

【问题讨论】:

  • 在 c:\xampp\php\php.ini 中编辑 php.ini
  • 我做了.... 我有错误报告为 E_ALL 并显示错误为 on
  • 当这不起作用时,我尝试了这些功能
  • 应该有一些错误吗?
  • 它没有显示我的 php 页面...什么也没有。没有错误或任何东西

标签: php error-handling xampp error-reporting


【解决方案1】:

嘿,看看那个,在编写代码时犯了一个更疯狂的错误并且它可以工作......但为什么它没有显示所有错误?

您可能没有收到任何“简单”错误,例如:

Parse error: syntax error, unexpected T_VARIABLE in .../.../index.php on line 6
#or
Warning: include(whateveryouwantedto.include): failed to open str(...)

但你确实得到了类似的东西:

Fatal error: Call to undefined method stdClass::Crap() in .../.../index.php on line 6

根据我的想法,这是因为如果您不在 PHP 配置中禁用日志记录,“简单”错误将“无处”发送。换句话说:PHP 通过不显示任何错误来“帮助”您,因为您定义了log_errors = On 和/或error_log = 'php_errors.log',并且它记录了所有“真实”错误,但您只是不将其归为“真实”类别.

如果这没有帮助,思考帽会说:“它不记得了,但我肯定知道它在 PHP 或 Apache 配置中的某个地方。”

当然希望我的思考帽能帮到你。

编辑: 解决这个问题可能是找到并打开 php.ini、全选、删除/退格、保存(但保持打开)(或在某处保存副本)。然后重新启动 Apache。看看有没有区别。如果是这样,则 php 配置在其他地方。恢复 php 文件并从根目录搜索您的计算机或服务器以查找另一个 php.ini。

另外我认为你应该确保:

log_errors = Off
error_log = "./"
display_errors = On
error_reporting = E_ALL

或者在 PHP 中:

error_reporting(E_ALL & E_STRICT);
ini_set('display_errors', '1');
ini_set('log_errors', '0');
ini_set('error_log', './');

【讨论】:

  • 请描述您的解决方案。备查。谢谢!
【解决方案2】:

在您的文件夹 xampp/php 中创建名为 logs 的新文件夹。 转到控制面板应用程序日志单击 php_error_log 它现在会询问您是否要创建文件。

【讨论】:

  • 这是一个违反直觉的简单解决方案。感谢您发布它。加里。可能节省了我在 .ini 周围捣乱的时间! :)
【解决方案3】:

error_reporting 功能有时会在本地服务器上关闭,例如,Xampp 不支持它,因此您必须转到 php.ini 并在那里进行更改。希望这会有所帮助:)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-23
    • 1970-01-01
    • 2015-11-21
    • 1970-01-01
    • 2013-06-02
    • 2012-03-22
    • 2017-10-22
    • 1970-01-01
    相关资源
    最近更新 更多