在Codeigniter控制器中,我有这样的陈述:
$ txt = str_replace($ t,$ bracketted_var,$ txt,& $ count);
$ count变量通过引用传递,我稍后在程序中使用它的更改值。
在使用PHP / 5.3.3-7调用该控制器的新安装中发现了这个响应:
在页面加载时重置了与服务器的连接
在Apache访问日志中没有任何日志条目。在错误日志中,我注意到两个条目: [2013年8月26日星期一12:12:28] [通知]儿童pid 32048退出信号分段故障(11) [2013年8月26日星期一12:12:28] [通知]儿童pid 32082退出信号分段故障(11)
我在没有获取网页内容的情况下尝试了其他几个浏览器和Androind以及iPhone。
该语句不在被调用的函数中。看起来在解析php文件时会出现某种语法错误。
正在搜索解决方案,我发现这个str_replace语句没有给出错误:
$ txt = str_replace($ t,$ bracketted_var,$ txt,$ count);
我确实暂时进行了更改,以便控制器的其他部分正常工作。 但我需要使用一个更改的$ count变量和许多更改。有什么建议吗?
搜索我没有找到任何有关此类错误的信息。
答案 0 :(得分:0)
不推荐使用引用的调用时间传递(在PHP> v5.3中,它在v5.4中被完全删除,此时它将引发致命错误)。您现在可以保留它,$count
应该更新,因为它被str_replace
本身表示为引用。
见http://php.net/manual/en/function.str-replace.php 和http://php.net/manual/en/language.references.pass.php