问题描述:最近刚刚将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);