编译失败:appstageUrlMatcher.php中无法匹配的括号

时间:2012-07-23 19:06:29

标签: symfony

在我的生产系统上,我在symfony路由器中收到错误:

  

警告:preg_match()[function.preg-match]:编译   失败:在偏移60英寸处的不匹配括号   /mypath/app/cache/prod/appprodUrlMatcher.php第205行

在本地计算机和其他服务器上,它可以正常工作。

我在缓存中挖掘并且路线的模式不同:

使用我的开发服务器:

#^/hotels/(?<groupId>[^/\\-]+)\\-(?<groupName>[^\\-]+)$#s

不参与制作:

#^/hotels(?:/(?<groupId>[^/\\-]+)(?:\\-(?<groupName>[^\\-]+))?)?)?$#s

路线是:

hotel:
    pattern: /hotels/{groupId}-{groupName}
    defaults: { _controller: "MyBundle:Hotel:hotel", requirements:{ groupName: "[a-zA-Z1-9\+\/]+" } }

我在github上读到了一些问题,即在使用旧的PCRE时可能存在类似的错误。 https://github.com/symfony/symfony/issues/4093
我的看起来很新:PHP 5.3.6与PCRE版本8.11 我在Solaris上。

这些模式是由symfony生成的,对吧?那么,为什么模式不同?
毕竟为什么它不起作用?有人有任何线索吗?

1 个答案:

答案 0 :(得分:0)

这不是symfony问题,而是这台Solaris机器上的PHP 5.3.6版本中的一个错误 常量INF返回 float(0),它炸毁了路由。

在此处查看更多内容:php INF has value zero

相关问题