2016-09-21 47 views
1

安装VichUploadBundle后无法加载服务。造成ReflectionException:类不存在VichUploadBundle inb Symfony 3无法加载cache.annotations服务

其次这里的安装指南https://github.com/dustin10/VichUploaderBundle/blob/master/Resources/doc/installation.md

这是堆栈跟踪的结尾。

    在ContainerBuilder.php线
  1. 在ReflectionClass - > __构建体( '')在ContainerBuilder.php线887
  2. 在ContainerBuilder->的CreateService(对象(DefinitionDecorator), 'cache.annotations')在ContainerBuilder.php线443
  3. 在ContainerBuilder->获得ContainerBuilder.php线( 'cache.annotations',1)在ContainerBuilder.php线946
  4. 在ContainerBuilder-> resolveServices(对象(参考))943
  5. at C在ContainerBuilder.php中的ontainerBuilder-> resolveServices(array('C:\ wamp64 \ sandbox \ projects \ practice-projects \ hp-cv-s3 \ w \ var \ cache \ dev/annotations.php',object(Reference)))在ContainerBuilder.php线443
  6. 线868
  7. 在ContainerBuilder->的CreateService(对象(定义), '03e098e19215084aaa7cf2863cac2f358625255a5c121c1a279cf4305af46de1_1')在ContainerBuilder->的get( '03e098e19215084aaa7cf2863cac2f358625255a5c121c1a279cf4305af46de1_1',1)在ContainerBuilder.php线946
  8. 在containerbuilder.php中的ContainerBuilder-> resolveServices(object(Reference))line 943
  9. at ContainerBuilder-> resolveServices(array(object(Reference)))in ContainerBuilder.php line 868
  10. 在ContainerBuilder->的CreateService在ContainerBuilder.php线(对象(定义), 'annotations.cache')443
  11. 在ContainerBuilder->的get( 'annotations.cache',1)在ContainerBuilder.php线946

任何想法如何解决这个问题?

最好的问候, 亨德里克

回答

0

约symfony的每一个答案,应该从短语开始:

尝试清除:缓存。

也许这有助于解决问题。

+0

已尝试清除缓存,但该错误导致清除缓存失败。我已经手动删除了缓存文件,但这也没有帮助。 – Hendrik

+0

尝试在symfony控制台中运行资产安装命令。同时检查供应商文件夹的权限。如果缓存清除失败 - 那么你有错误。你需要解决它们。 – staskrak

+0

此外,如果您已经映射上传,就像本教程的用法部分所述 - 检查uppload目标文件夹的权限 – staskrak

0

我解决了它。

问题是我使用的Symfony版本。

我安装了“symfony/symfony”:“3.2.x-dev”,它显然不适用于“vich/uploader-bundle”:“1.1.x.dev”,所以我安装了“symfony/symfony“:”^ 3.1.4“和Vich的工作就像一个魅力。

1

在symfony中3.2,注释不默认配置了,请确保您已启用了配置:

framework: 
    annotations: 
     cache: file 
     debug: true 
     file_cache_dir: '%kernel.cache_dir%/annotations'