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

来源:互联网 发布:剑三成男绯梨数据 编辑:程序博客网 时间:2024/05/21 17:18

 今天在学习php的时候,遇到这样一个问题,如下:

( ! ) Fatal error: Call-time pass-by-reference has been removed in D:\xampp\htdocs\wenjian\test\app\exam\app.php on line 62Call Stack#TimeMemoryFunctionLocation10.0015136448{main}( )..\index.php:020.0496166104ginkgo->run( )..\index.php:6

找到我编写的代码如下:

$this->tpl->assign('data',&$this->data);

解决方法是:

将上面代码中的 & 符号删掉。

具体解释如下:

意思是调用时引用传参已经被移除了,就是不能通过function(&$a)这种方式传参调用函数.

解决方案:

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

======================================
此外,以前的php代码在升级到5.4版本的php可能会出现这种错误:

当我们这样使用函数(或者类)的话,会产生一个error:

foo(&$var);

实际上,这样用本来就是错的,只是之前的错误级别仅仅是Deprecated而已。

而正确的使用方法应该是在函数定义时:

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

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

0 0
原创粉丝点击