相关疑难解决方法(0)

Symfony 1.4使用php 5.5中的弃用函数

我最近将PHP从5.3.27升级到5.5.0.在我的Symfony 2.3.2项目中一切正常,我可以享受最新的PHP功能.

现在当我回到我的其他Symfony 1.4.16项目时,我得到一个关于preg_replace被/ e修饰符弃用的PHP错误.

我在论坛中找不到关于此错误的参考:以前是否有人遇到此问题?有什么样的补丁我可以开箱即用吗?升级到Symfony 1.4.20会解决这个问题吗?

错误消息如下所示:

不推荐使用:preg_replace():不推荐使用/ e修饰符,而是在第409行的/myproject/lib/vendor/symfony/lib/response/sfWebResponse.class.php中使用preg_replace_callback

一种方法可能是按照消息和手册中的建议修改代码.如何将preg_replace表达式更改为preg_replace_callback调用?

任何帮助/提示都将非常受欢迎.

编辑:

到目前为止,还没有补丁(Symfony 1.4.20没有解决这个问题).解决方案是将对preg_replace的失败调用替换为在sourche中对preg_replace_callback的相应调用,这很容易在sfWebResponse类中完成(感谢提示Jon).不幸的是,现在下一次失败的情况稍微复杂一些......另一方面,我们可能不得不使用/ e选项grep for preg_replace使用以找出Symfony可能会破坏的位置.这给出了不少结果:o

所以...我的结论是Symfony 1.4用户最好不要将PHP升级到5.5版,直到出现一些严重的补丁.你怎么看 ?还有其他选择

php preg-replace preg-replace-callback symfony-1.4

18
推荐指数
6
解决办法
3万
查看次数