【问题标题】:php error_reporting E_STRICTphp error_reporting E_STRICT
【发布时间】:2016-03-24 20:17:02
【问题描述】:

我刚刚更换了主机。一切都已设置并正常工作,除了我收到大量错误,这些错误都是从 PHP 严格标准开始的:

我在 php.ini 中关闭了 E_STRICT。当我运行phpinfo() 进行验证时,它显示为关闭。它显示了

error_reporting = 22519 = 01010111 11110111。E_STRICT 是第 11 位 (2048)。

我的第一个问题是,是否有可能在没有 E_STRICT 的情况下以某种方式生成这些错误?

我的 phpinfo() 调用位于根目录。但我也检查了根目录和这些函数发生的目录之间的每个目录。没有任何其他 php.ini,也没有 .htaccess 文件与 suPHP_ConfigPath 调用冲突。

只要有人在我的网站上按下链接或按钮,就会调用这些 PHP 文件,因此我每小时会收到一个 MB 或一些此类该死的警告。但如果 E_STRICT 关闭,我不知道如何获得它们。

有人对我应该检查的其他事情有一个好主意吗?

【问题讨论】:

    标签: php error-reporting strict


    【解决方案1】:

    最好的麦克克利,

    请尝试添加:

    error_reporting(E_ERROR | E_WARNING | E_PARSE);
    

    在脚本的开头,看看是否仍然收到严格的消息。

    【讨论】:

    • 它实际上似乎比以前产生了更多的错误。但它们都以“PHP 严格标准”开头:注意,可能只是当时有更多的活动。
    • 尝试error_reporting(0),那么你应该没有错误(现在只是为了调试)
    • 此外,我找到了这个页面,也许它是为你使用的[链接](stackoverflow.com/questions/1248952/…
    • 仍然出现错误。他们可能来自哪里?我将在这里显示一个示例错误:[18-Dec-2015 02:45:56 America/Detroit] PHP Strict Standards: Declaration of categoriesParser::identifyPage() should be compatible with SSUParser::identifyPage($uri_parts) in / home/fuelsave/public_html/includes/classes/ssu/plugins/parsers/categories.php 在第 160 行。现在在 categories.php 中,我放在顶部,但在 php 主体“error_reporting(0);”的一部分中.紧随其后的是类定义的开始。
    • 我缺少一些东西。无论如何,我已经完成了应该关闭这些错误的操作,但它们不会关闭。我只是不知道我错过了什么。
    【解决方案2】:

    好的,问题解决了。
    但是在错误报告的文件中更改error_reporting 并没有改变任何东西。

    我必须找到与错误所说的类发生冲突的文件,当我在该文件中更改 error_reporting 时,错误停止传播。

    注意,改变 php.ini error_reporting 变量并不能有效地改变这种情况。只有在脚本本身中更改它才能解决问题。

    【讨论】:

      猜你喜欢
      • 2012-03-10
      • 2012-08-25
      • 2010-09-09
      • 1970-01-01
      • 2011-12-21
      • 2012-09-03
      • 2017-06-01
      • 2014-07-26
      • 1970-01-01
      相关资源
      最近更新 更多