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 でオブジェクトをメソッドに渡したり、参照によって新しいオブジェクトを変数に割り当てたりするために使用されます。PHP5 ではすべてのオブジェクトが参照によって渡されるため、PHP 5 では非推奨です。

詳細については、次を参照してください。

参照による new の戻り値の代入は非推奨です

したがって、コードをゼロから作成する場合は、最新のものをすべて使用することをお勧めします。codeigniter 2.1.4 を使用してください。

ただし、古い codeigniter バージョンのコードベースがある場合は、新しいバージョンに移行するまで PHP をデグレードすることをお勧めします (これはお勧めできません)。

于 2013-07-19T03:12:19.913 に答える