php error_reporting E_STRICT
Posted
技术标签:
【中文标题】php 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 关闭,我不知道如何获得它们。
有人对我应该检查的其他事情有一个好主意吗?
【问题讨论】:
【参考方案1】:最好的麦克克利,
请尝试添加:
error_reporting(E_ERROR | E_WARNING | E_PARSE);
在脚本的开头,看看是否仍然收到严格的消息。
【讨论】:
它实际上似乎比以前产生了更多的错误。但它们都以“PHP 严格标准”开头:注意,可能只是当时有更多的活动。 尝试error_reporting(0),那么你应该没有错误(现在只是为了调试) 此外,我找到了这个页面,也许它是为你使用的[链接](***.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
变量并不能有效地改变这种情况。只有在脚本本身中更改它才能解决问题。
【讨论】:
以上是关于php error_reporting E_STRICT的主要内容,如果未能解决你的问题,请参考以下文章
在PHP中error_reporting这个函数有什么作用?