2016-09-21 42 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'