Fatal error: Call-time pass-by-reference has been removed in *****.php on line 18

问题描述:最近刚刚将php升级到5.4.13,但是打开一个页面的时候出现报错:Fatal error: Call-time pass-by-reference has been removed in *****.php on line 18

原因:意思是调用时引用传参已经被移除。 

  其实在调用是test(&$a)本来就是错误的方式,只是PHP5.4之前错误级别仅仅是Deprecated,正确的方法是在定义方法时:

  function test(&$a)加上引用符号&即可,在调用的时候直接调用test($a);

解决方法:

  方法1.查看你的php.ini配置文件,把其中的 allow_call_time_pass_reference参数调整为true,并重启服务器试试。(我试了一下,并不管用

  方法2.修改PHP程序,在函数定义时加引用符号,调用的时候就不用加引用符号了

    function test(& $var) {
      //other code
    }

  而在调用时直接传参就行了: test($var);

原文地址:https://www.cnblogs.com/wxdblog/p/8651384.html