繁体   English   中英

如何禁用E_STRICT

[英]How to disable E_STRICT

我需要关闭E_STRICT。 我的php.ini中有error_reporting = E_ALL&〜E_STRICT,但似乎被忽略了。 我在我的代码中试过这个:

ini_set('error_reporting', E_NOTICE);

没有!

请帮忙。

试试这个。

error_reporting(E_ALL ^ E_STRICT);

这将报告除E_STRICT之外的所有错误

如果您有自己的错误处理程序(搜索代码中的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

如果错误发生在调用error_reporting(...) (或ini_set('error_reporting, ...') )的同一文件中,则从error_reporting配置中删除E_STRICT可能会失败。

你提到你正在使用一个框架(很高兴知道哪一个),无论如何你可以在第一个index.php上添加这样的东西:

error_reporting(E_ERROR | E_WARNING | E_PARSE);
ini_set('display_errors', 'On');

但是请确保你在第一个被调用的index.php上,这意味着堆栈中的第一个,对于某些可以节省一些痛苦的框架。

其他的事情:大多数框架都有自己的配置文件来解决生产软件VS. 开发软件,他们有自己的做事方式,所以我会从那里开始....看看文档,看看是否有任何你需要改变...它可能是一个超级简单的改变最有可能的配置文件。

当我遇到这个错误时,我正在安装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 ,并保存了文件,我重新启动了所有服务,一切正常。 希望对你也有用!

error_reporting(E_ALL & ~E_STRICT);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM