我将服务器从Php 5.3移到了Php 5.4
出现了几个错误,使用Php 5.3没有显示
我尝试在php.ini中输入此错误来禁用E_STRICT错误
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT
没有效果。显示相同的错误。
我运行grep -r" error_reporting" 。在一个网站上,找出脚本是否正在设置它,但没有。没找到。
错误的一个例子:"非法字符串偏移"检查数组中的键时。
我在这台服务器上有很多脚本,如果没有先使用isset进行检查,就无法检查使用数组字符串的所有代码。
如何在Php 5.4中禁用这些E_STRICT错误,以便我可以继续运行这些旧脚本而不必坚持使用Php 5.3?
答案 0 :(得分:0)
Illegal string offset
是 警告 ,而不是E_STRICT
错误。代码是完全错误,而不仅仅是"严格来说是低于标准的"。您无法抑制错误的原因是它是您明确允许的严重错误。 Illegal string offset
表示您最有可能将字符串视为数组,例如:
$foo = 'bar';
echo $foo['baz'];
'baz'
是非法字符串偏移量。字符串偏移量应该是一个数字。如果您使用的不是数字,那么a)没有意义,b)是您可能希望$foo
成为数组的标志。所以,再次,明显错误的代码。