0

我正在使用 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

我不知道问题出在哪里,当然代码是正确的,但问题出在哪里。有什么建议么?

4

2 回答 2

0

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

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

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

有关详细信息,请参阅

不推荐通过引用分配 new 的返回值

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

但是,如果您的代码库在一些旧的 codeigniter 版本中,那么最好降级您的 PHP(不推荐),直到您升级到新版本。

于 2013-07-19T03:12:19.913 回答
0

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

要修复此错误:

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

于 2013-07-19T01:49:47.353 回答