在我的生产系统,我得到一个错误在symfony的路由器:编译失败:无与伦比的括号中appstageUrlMatcher.php
警告:的preg_match()[function.preg匹配]:编译 失败:括号不匹配在 /mypath/app/cache/prod/appprodUrlMatcher.php线205
而在本地机器上工作得很好另一台服务器上的偏移60。
我挖的缓存和路由的模式是不同的:
工作我的dev的服务器:
#^/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生成,对吧?那么,为什么这些模式不同?
毕竟为什么它不工作?有人有任何线索吗?