PHP CodeIgniter common.php出错

时间:2013-07-19 01:47:08

标签: php codeigniter

我正在使用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 个答案:

答案 0 :(得分:0)

PHP中使用

&将对象传递给方法/通过引用将新对象分配给变量。它在PHP 5中已弃用,因为PHP5通过引用传递所有对象,但其他vars默认按值。

要解决此错误:

真的更新到最新版本的CodeIgniter!

答案 1 :(得分:0)

最近我遇到了同样的问题,我使用的是codeigniter 1.7和PHP 5.2.6一切都运行良好,但在将PHP升级到5.3之后,以下错误开始出现: -

 Deprecated: Assigning the return value of new by reference is deprecated

背后的原因与@Amal提到的相同,&amp;在PHP中用于将对象传递给方法/通过引用将新对象分配给变量。它在PHP 5中已弃用,因为PHP5通过引用传递所有对象

有关详细信息,请参阅

Assigning the return value of new by reference is deprecated

因此,如果您是从头开始创建代码,那么最好使用所有最新的东西,请使用codeigniter 2.1.4

但是如果你的代码库有一些旧的codeigniter版本,那么最好还是降低你的PHP(不推荐),直到你转到更新的版本为止。