首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“已删除按引用传递的呼叫时间”

“已删除按引用传递的呼叫时间”
EN

Stack Overflow用户
提问于 2012-11-25 17:49:46
回答 1查看 12K关注 0票数 4

我试图使用此回购在Dotcloud上部署Wordpress,但是日志中出现了一个错误:

代码语言:javascript
复制
18:59:19: [www.0] Running postinstall script...
18:59:21: [www.0] PHP Fatal error:  Call-time pass-by-reference has been removed in /home/dotcloud/rsync-1353715101184/dotcloud-scripts/feed-wp-config.php on line 86

看看feed-wp-config.php中的第86行,它的内容如下:

代码语言:javascript
复制
$content = preg_replace('/(define\(\'' . $property . '\', \')(.*)(\'\);)/', '${1}' . $value . '${3}', $content, -1, &$count);

当我进入Wordpress开始页面时,它说:“似乎没有一个wp-config.php文件,我需要这个才能开始。”

我有交叉贴到回购公司的Github问题追踪器上,但由于还没有回复,所以我也会在这里发布,希望有人知道答案。

EN

回答 1

Stack Overflow用户

发布于 2012-11-25 17:53:26

&$count替换为$count&意味着您希望通过引用传递变量,而不是通过值传递:

文件上说

函数调用中没有引用符号--仅在函数定义上。仅函数定义就足以通过引用正确传递参数。从PHP5.3.0开始,您将收到一条警告:当您使用& in (&$a);时,不建议使用“按引用传递调用时间”。

因此,如果要通过引用函数传递变量,则应在函数声明中使用&

现在应该这样做:

代码语言:javascript
复制
// right
function foo(&$var) {
...
}

foo($foo);

但不是这样的(当你收到这个警告时):

代码语言:javascript
复制
function foo($var) {
...
}

foo(&$foo);   // <--- wrong
票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13553698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档