Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony2 ParamConverter未与@Annotation关联(任何文件更改后必须清除缓存)_Php_Symfony_Annotations - Fatal编程技术网

Php Symfony2 ParamConverter未与@Annotation关联(任何文件更改后必须清除缓存)

Php Symfony2 ParamConverter未与@Annotation关联(任何文件更改后必须清除缓存),php,symfony,annotations,Php,Symfony,Annotations,我有一个控制器,它对路由、方法、模板和参数转换器使用注释。 如果在下一页加载时对文件进行任何更改(甚至是空白更改或注释),则会发生以下错误 Cannot import resource "/home/sites/MySite/src/Acme/Bundle/MyBundle/Controller/" from "/home/sites/MySite/app/config/routing.yml". FileLoaderLoadException: Cannot import resource

我有一个控制器,它对路由、方法、模板和参数转换器使用注释。
如果在下一页加载时对文件进行任何更改(甚至是空白更改或注释),则会发生以下错误

Cannot import resource "/home/sites/MySite/src/Acme/Bundle/MyBundle/Controller/" from "/home/sites/MySite/app/config/routing.yml".

FileLoaderLoadException: Cannot import resource "/home/sites/MySite/src/Acme/Bundle/MyBundle/Controller/" from "/home/sites/MySite/app/config/routing.yml"

AnnotationException: [Semantical Error] The class "Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter" is not annotated with @Annotation. Are you sure this class can be used as annotation? If so, then you need to add @Annotation to the _class_ doc comment of "Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter". If it is indeed no annotation, then you need to add @IgnoreAnnotation("ParamConverter") to the _class_ doc comment of method Acme\Bundle\MyBundle\Controller\DefaultController::viewAction().
如果我清除缓存,那么它将再次工作,但只有在我进行另一次更改之前,它才会再次发生。
在读取配置的注释信息时,它似乎遇到了一个问题,但我不明白为什么在没有对任何注释进行更改时它会工作/不工作。

啊,这是一个已知的错误,已在FrameworkExtraBundle中修复

现在,为了获得最新信息,只需将该库的要求更改为dev master

"require": {
    ...
    "symfony/symfony": "2.2.*",
    "sensio/framework-extra-bundle": "dev-master",
   ...
},

然后运行composer update

你能给我们看一下你的控制器文件吗?当然,这里有一个要点,你用的是什么版本的Symfony?您正在使用eAccelerator吗?在将项目升级到Symfony 2.2后,我遇到了相同的问题。这似乎只发生在prod环境中,dev没有问题。它在清除缓存后工作,直到我在任何操作(不一定是我正在执行的操作)上使用ParamConverter点击另一个控制器。之后,任何带有ParamConverter的控制器中都没有动作。不使用eAccelerator,最新的稳定2.2.0。谢谢tetranz,很高兴知道不仅仅是我。伙计,你让我开心。Thankssensio/framework extra bundle v2.2.1包含修复程序,不再需要使用dev master,您只需使用2.2.*即可获得最新的标记版本。