基于CakePHP的项目抛出错误,说“参考文献已弃用,返回值为新”

时间:2009-08-20 14:38:00

标签: cakephp

我已将Xampp升级到更新的版本(1.7.2)。但是现在当我运行我的项目(在CakePHP中完成)时,它正在抛出bug

Deprecated: Assigning the return value of new by reference is deprecated in
C:\xampp\htdocs\ebayn\cake\libs\debugger.php on line 99

Deprecated: Assigning the return value of new by reference is deprecated in 
C:\xampp\htdocs\ebayn\cake\libs\debugger.php on line 108

Deprecated: Assigning the return value of new by reference is deprecated in 
C:\xampp\htdocs\ebayn\cake\libs\file.php on line 96

Deprecated: Assigning the return value of new by reference is deprecated in
C:\xampp\htdocs\ebayn\cake\libs\cache\file.php on line 89

任何人都可以帮助我如何纠正这些事情.... ???

提前致谢

4 个答案:

答案 0 :(得分:7)

您需要修补cake / libs / configure.php并找到“error_reporting(E_ALL);”行。用以下内容替换该行:

error_reporting(E_ALL & ~E_DEPRECATED);

您可能需要在app / webroot / index.php和test.php中分别进行更改。

目前没有比接触核心更好的方法了。

答案 1 :(得分:4)

你没有提到你的CakePHP版本,但如果你使用PHP 5.3(它是Xampp 1.7.2的一部分),那么你必须使用CakePHP 1.3.x.x。

答案 2 :(得分:2)

您没有包含任何代码,但看起来您可能正在尝试通过引用分配变量 - 可能是对象的实例。在PHP 5+中,这是默认值,我记得。在5.3中,他们可能已经正式弃用了这种做法。

如果您的应用必须使用PHP 4,您可能需要查看error_reporting设置。如果设置了E_STRICT,请将其关闭。我不记得哪些设置会影响哪种类型的错误,但如果我猜测,这个特定值可能会有所帮助。

答案 3 :(得分:0)

我发现我需要在MAMP中将PHP 5.3回滚到php 5.2才能运行Cake 1.2。

需要获取旧客户端站点的本地副本,而不仅仅是内部服务器错误。

...进展