WEB教程基地:www.91ctc.com为你搭建学习WEB技术的优秀平台
网站地图 加入收藏 设为首页
您的位置:本站首页>>PHP>>Fatal error: Call-time pass-by-reference has been removed in的解决办法

Fatal error: Call-time pass-by-reference has been removed in的解决办法

[ 录入者:91ctc | 时间:2015-04-04 22:33:10 | 作者: 91ctc| 来源:本站 | 浏览: 次 ]

前几日,使用yum方式安装了一个LAMP环境,环境搭好之后,把网站代码放到这台服务器上后,登录后台后报错:

Call-time pass-by-reference has been removed

Fatal error: Call-time pass-by-reference has been removed in...

意思是调用时引用传参已经被移除了。

于是检查了一下代码,发现function.php里有类似这种test(&$a)写法的函数,仔细辨认了一下,是静态生成的一个函数,把这个函数删掉,网站即恢复正常,后来终于找到原因:

PHP升级到5.4版本以后,不能通过test(&$a)这种方式传参调用函数

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

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

解决方案:

方法一、查看你的php.ini配置文件,把其中的 allow_call_time_pass_reference参数调整为true,并重启服务器试试。

方法二:修改PHP程序,在函数定义时:

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

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

PS:如果您对本文有纠错、质疑、转载、举报等问题时,请加入到网站Q&Q&群:86783981(验证信息:91ctc.com)提交您的问题,让大伙一块讨论。谢谢您的支持,计算机教程中心网将会一如既往的提供优秀资源助您一臂之力!
关闭】【返回顶部

您可能感兴趣的文章
91ctc.com 网络先锋,引领科技,本站原创作品[转载请注明出处]。网站Q&Q&群:86783981(验证信息:91ctc.com)
Copyright© 2010-2017 计算机教程中心网 . All rights reserved. 苏ICP备11081842号