我正在使用CodeIgniter,我有一个问题,代码非常简单,只是在控制器中的几行,这是我的控制器
<?php
class Site extends Controller {
function index() {
echo 'i am here';
}
}
以下是错误:
1- Deprecated: Assigning the return value of new by reference is deprecated in C:\wamp\www\ci\system\codeigniter\Common.php on line 130
2-Deprecated: Assigning the return value of new by reference is deprecated in C:\wamp\www\ci\system\codeigniter\Common.php on line 136
3-A PHP Error was encountered
Severity: 8192
Message: Assigning the return value of new by reference is deprecated
Filename: libraries/Loader.php
Line Number: 255
4-A PHP Error was encountered
Severity: 8192
Message: Assigning the return value of new by reference is deprecated
Filename: database/DB.php
Line Number: 133
我不知道问题出在哪里,当然代码是正确的,但问题出在哪里。有什么建议吗?
2条答案
按热度按时间mbskvtky1#
&
在PHP中用于通过引用将对象传递给方法/将新对象分配给变量。它在PHP 5中被弃用,因为PHP5通过引用传递所有对象,而其他变量默认为通过值传递。若要修正此错误:
请更新至CodeIgniter的最新版本!
j91ykkif2#
最近我遇到了同样的问题,我使用的是codeigniter 1.7和PHP 5.2.6一切都工作得很好,但在升级PHP到5.3后,下面的错误开始出现:-
其背后的原因和@Amal提到的一样,&在PHP中用于通过引用将对象传递给方法/将新对象分配给变量。它在PHP 5中被弃用,因为PHP5通过引用传递所有对象
有关详细信息,请参阅
Assigning the return value of new by reference is deprecated
因此,如果您从头开始创建代码,那么最好使用所有最新的东西,使用codeigniter 2.1.4
但是如果你的代码库是旧的codeigniter版本,那么最好降级你的PHP(不推荐),直到你升级到新的版本。