我得到以下错误后更新php到版本5.4
Strict Standards: Non-static method Debugger::invoke() should not be called statically, assuming $this from incompatible context in /usr/share/php/cake/libs/debugger.php on line 575
Strict Standards: Non-static method Debugger::getInstance() should not be called statically, assuming $this from incompatible context in /usr/share/php/cake/libs/debugger.php on line 575
字符串
我已经尝试了以下解决方案
Error while Disabling error reporting in CakePHP
Cakephp doesn't work after installing php5-curl package(无法找到“蛋糕”文件夹,因为我已经烘焙了我的项目)
Wampserver cakephp 1.3 Strict standards error的
How to eliminate php5 Strict standards errors?的
PHP 5 disable strict standards error的
https://stackoverflow.com/questions/11799085/turn-off-php-strict-standards?lq=1(无法关闭错误)
清除蛋糕缓存,网页浏览器缓存,cookie和每次更改后重新启动服务器.甚至尝试在私人浏览和Chrome,火狐,即也.
3条答案
按热度按时间j2cgzkjk1#
我相信这是因为这个应用程序是建立在一个旧版本的CakePHP上的,它可能会使用一些过时的函数。如果你(或其他人)可以将Cake升级到一个新的稳定分支,那就太棒了。现在在你的core.php中尝试一下,你可以从你的错误报告中删除E_STRICT:
即转到app/Config/core.php查找
字符串
将其替换为
型
rqqzpn5f2#
更改error_reporting函数确实可以解决这个问题。然而,cakephp似乎在几个地方设置了这些标志,这就是为什么这个解决方案可能对你不起作用(我也经历了同样的事情)
在整个源代码中搜索“error_reporting”,你会发现它在多个文件中使用。在任何地方添加标志“~E_STRICT”。例如:
字符串
你会在/cake/bootstrap. php,/cake/libs/configure. php,/cake/console/cake. php等地方看到它。我只是把它们都改了,把E_STRICT排除了,问题就解决了。
1bqhqjot3#
最好的选择是将CakePHP更新到最新版本,PHP 8已经修复了这个问题。但是如果这不可能,你必须将
static
添加到所有使用双冒号::
调用的函数中。字符串