qxl*_*lab 26 php cakephp cakephp-1.3
将我的PHP升级到5.4.3(WAMP服务器2.2)后,我在CakePHP 1.3中创建的Web应用程序在我的索引中显示以下错误:
严格的标准:重新定义C语言中类Object的已定义构造函数:第63行的...\cake\cake\libs\object.php
严格的标准:非静态方法Configure :: getInstance()不应该在第49行的C:...\cake\cake\bootstrap.php中静态调用
我发现有些人通过将error_reporting
php.ini 设置为来解决这个问题E_ALL & ~E_STRICT
.
我在我的计算机上存在的php.ini文件(C:\ wamp\bin\php\php5.4.3和C:\ wamp\bin\apache\apache2.4.2\bin)中都这样做但它没有解决问题.
我也尝试php_value error_reporting 6143
输入C:...\cake.htaccess但没有成功.
有谁知道我该如何解决这个问题?由于火鸟,我无法升级我的CakePHP.
Jvd*_*erg 23
php 5.4中的一个变化是E_STRICT现在是E_ALL的一部分
因此,在/cake/bootstrap.php中,您可以从错误报告中删除E_STRICT:
error_reporting(E_ALL ^ E_STRICT);
Run Code Online (Sandbox Code Playgroud)
并在5.4版本之前再次兼容.
Cla*_*ldt 13
如果你想更新你的蛋糕版本,而不是修改蛋糕核心文件,请进入你的Config/core.php文件并查找错误处理程序配置:
Configure::write('Error', array(
'handler' => 'ErrorHandler::handleError',
'level' => E_ALL & ~E_DEPRECATED,
'trace' => true
));
Run Code Online (Sandbox Code Playgroud)
并用这个替换'level':
...
'level' => E_ALL & ~E_STRICT & ~E_DEPRECATED,
...
Run Code Online (Sandbox Code Playgroud)
请更换
error_reporting = E_ALL
Run Code Online (Sandbox Code Playgroud)
在你的php.ini中,用
error_reporting = E_ALL & ~E_STRICT
Run Code Online (Sandbox Code Playgroud)
为了我
error_reporting(E_ALL ^ E_STRICT);
Run Code Online (Sandbox Code Playgroud)
在这个问题的接受答案中显示的不起作用,并为我的Joomla网站在JError错误中检测到无限循环.