在 PHP 5.4 中禁用严格标准
2022-08-30 07:46:40
我目前在php 5.4上运行一个网站,在此之前,我在5.3.8上运行我的网站。不幸的是,php 5.4 结合了 和 ,这意味着我之前的设置现在不起作用。我之前的值为“我应该一次只启用一个值吗?E_ALL
E_STRICT
error_reporting
E_ALL & ~E_NOTICE & ~E_STRICT
我有太多的错误,文件包含太多的代码,我无法修复。
我目前在php 5.4上运行一个网站,在此之前,我在5.3.8上运行我的网站。不幸的是,php 5.4 结合了 和 ,这意味着我之前的设置现在不起作用。我之前的值为“我应该一次只启用一个值吗?E_ALL
E_STRICT
error_reporting
E_ALL & ~E_NOTICE & ~E_STRICT
我有太多的错误,文件包含太多的代码,我无法修复。
正如评论者所说,最好的选择是修复错误,但是在有限的时间或知识下,这并不总是可能的。在你的 php 中.ini更改
error_reporting = E_ALL
自
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT
如果您无权访问 php.ini,则可以将其放在 .htaccess 文件中:
php_value error_reporting 30711
这是E_ALL值 (32767) 以及删除E_STRICT (2048) 和 E_NOTICE (8) 值。
如果您无权访问 .htaccess 文件或该文件未启用,则可能需要将其放在从浏览器调用加载的任何脚本的 PHP 部分的顶部:
error_reporting(E_ALL & ~E_STRICT & ~E_NOTICE);
其中之一应该可以帮助您能够使用该软件。通知和严格的东西是问题或潜在问题的指标,你可能会发现一些代码在PHP 5.4中无法正常工作。
.htaccess php_value仅在使用 PHP Server API 作为 Web 服务器 Apache 的模块时才有效。使用 IfModule 语法:
# PHP 5, Apache 1 and 2.
<IfModule mod_php5.c>
php_value error_reporting 30711
</IfModule>
如果您使用PHP Server API CGI/FastCGI,请使用
ini_set('error_reporting', 30711);
或
error_reporting(E_ALL & ~E_STRICT & ~E_NOTICE);
在 PHP 代码或 PHP 配置文件 .user 中.ini |php.ini 修改:
error_reporting = E_ALL & ~E_STRICT & ~E_NOTICE
在虚拟主机、服务器级别上。