我需要关闭E_STRICT。我有error_reporting = E_ALL& 〜我的php.ini中的E_STRICT但似乎被忽略了。我在我的代码中试过这个:
ini_set('error_reporting', E_NOTICE);
没有!
请帮忙。
答案 0 :(得分:9)
试试这个。
error_reporting(E_ALL ^ E_STRICT);
这将报告除E_STRICT
以外的所有错误答案 1 :(得分:5)
如果您有自己的错误处理程序(搜索代码set_error_handler
),那么error_reporting
配置值将被忽略:
重要的是要记住,对于error_types指定的错误类型,标准PHP错误处理程序是完全被绕过的,除非回调函数返回FALSE。 error_reporting()设置无效,无论如何都会调用错误处理程序 - 但是您仍然可以读取error_reporting的当前值并采取相应的操作。特别值得注意的是,如果导致错误的语句由@ error-control运算符预先添加,则此值将为0。
http://php.net/manual/en/function.set-error-handler.php
如果在调用E_STRICT
(或error_reporting
)的同一文件中发生错误,同时从error_reporting(...)
配置中删除ini_set('error_reporting, ...')
可能会失败。
答案 2 :(得分:2)
你提到你正在使用一个框架(很高兴知道哪一个),无论如何你可以在第一个index.php上添加这样的东西:
error_reporting(E_ERROR | E_WARNING | E_PARSE);
ini_set('display_errors', 'On');
但是请确保你在第一个被调用的index.php上,这意味着堆栈中的第一个,对于某些可以节省一些痛苦的框架。
其他事情:大多数框架都有自己的配置文件来解决生产软件VS.开发软件,他们有自己的做事方式,所以我会从那里开始....看看文档,看看是否有任何你需要改变...它可能是一个超级简单的改变最有可能的配置文件。
答案 3 :(得分:1)
当我遇到错误时,我正在安装CMS简单但是这就是我的结果:
1)使用您喜欢的任何编辑器打开您的php.ini文件;记事本,记事本++或Dreamweaver。
2)按ctrl + f启动查找对话框。
3)键入E_STRICT并单击确定跳转到E_STRICT线,有几个E_STRICT Stuff但是找一个这种设置;
共同价值观:
E_ALL & ~E_NOTICE (Show all errors, except for notices and coding standards warnings.)
E_ALL & ~E_NOTICE | E_STRICT (Show all errors, except for notices)
E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors)
E_ALL | E_STRICT (Show all errors, warnings and notices including coding standards.)
Default Value: E_ALL & ~E_NOTICE
Development Value: E_ALL | E_STRICT
Production Value: E_ALL & ~E_DEPRECATED
http://php.net/error-reporting
error_reporting = E_ALL ,此处的值为";"是重要的,所以我把它清除了:
error_reporting =(删除)并删除了 E_ALL ,并保存了文件,我重新启动了所有服务,一切正常。 希望对你也有用!。
答案 4 :(得分:-2)
error_reporting(E_ALL & ~E_STRICT);