Search code examples
phpapachecodeigniterapache2codeigniter-2

Only variable references should be returned by reference - Codeigniter


After the server PHP upgrade I am getting the following error with PHP Version 5.6.2 on Apache 2.0

A PHP Error was encountered
Severity: Notice
Message: Only variable references should be returned by reference
Filename: core/Common.php
Line Number: 257

How can I fix this?


Solution

  • Edit filename: core/Common.php, line number: 257

    Before

    return $_config[0] =& $config; 
    

    After

    $_config[0] =& $config;
    return $_config[0]; 
    

    Update

    Added by NikiC

    In PHP assignment expressions always return the assigned value. So $_config[0] =& $config returns $config - but not the variable itself, but a copy of its value. And returning a reference to a temporary value wouldn't be particularly useful (changing it wouldn't do anything).

    Update

    This fix has been merged into CI 2.2.1 (https://github.com/bcit-ci/CodeIgniter/commit/69b02d0f0bc46e914bed1604cfbd9bf74286b2e3). It's better to upgrade rather than modifying core framework files.