【问题标题】:VichUploadBundle inb Symfony 3 cant load cache.annotations serviceSymfony 3 中的 VichUploaderBundle 无法加载 cache.annotations 服务
【发布时间】:2016-09-21 20:19:20
【问题描述】:

安装 VichUploadBundle 后无法加载服务。导致ReflectionException:类不存在

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

这是堆栈跟踪的结尾。

  1. 在 ContainerBuilder.php 第 887 行
  2. 在 ContainerBuilder.php 第 887 行中的 ReflectionClass->__construct('')
  3. 在 ContainerBuilder->createService(object(DefinitionDecorator), 'cache.annotations') 在 ContainerBuilder.php 第 443 行
  4. 在 ContainerBuilder->get('cache.annotations', 1) in ContainerBuilder.php line 946
  5. 在 ContainerBuilder->resolveServices(object(Reference)) 在 ContainerBuilder.php 第 943 行
  6. 在 ContainerBuilder->resolveServices(array('C:\wamp64\sandbox\projects\practice-projects\hp-cv-s3\w\var\cache\dev/annotations.php', object(Reference)))在 ContainerBuilder.php 第 868 行
  7. 在 ContainerBuilder->createService(object(Definition), '03e098e19215084aaa7cf2863cac2f358625255a5c121c1a279cf4305af46de1_1') 在 ContainerBuilder.php 第 443 行
  8. 在 ContainerBuilder->get('03e098e19215084aaa7cf2863cac2f358625255a5c121c1a279cf4305af46de1_1', 1) 在 ContainerBuilder.php 第 946 行
  9. 在 ContainerBuilder->resolveServices(object(Reference)) 在 ContainerBuilder.php 第 943 行
  10. 在 ContainerBuilder.php 第 868 行中的 ContainerBuilder->resolveServices(array(object(Reference)))
  11. 在 ContainerBuilder->createService(object(Definition), 'annotations.cache') in ContainerBuilder.php line 443
  12. 在ContainerBuilder->get('annotations.cache', 1) in ContainerBuilder.php line 946

知道如何解决这个问题吗?

最好的问候, 亨德里克

【问题讨论】:

    标签: symfony vichuploaderbundle


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      每个关于 symfony 的答案都应该从短语开始:

      尝试清除:缓存。

      也许这有助于解决问题。

      【讨论】:

      • 已尝试清除缓存,但错误导致清除缓存失败。我已经手动删除了缓存文件,但这也没有帮助。
      • 尝试在 symfony 控制台中运行资产安装命令。还要检查供应商文件夹的权限。如果缓存清除失败 - 那么你有错误。你需要解决它们。
      • 另外,如果您已经映射了上传,就像教程的使用部分中所说的那样 - 检查上传目标文件夹的权限
      • Assets:install 命令也无济于事,因为只要出现错误,我就无法运行任何命令。我的 Vich 已经用最低设置“vich_uploader:db_driver:orm”抛出了这个错误,这应该足够了,如安装部分所述。感谢您的建议。
      【解决方案3】:

      我解决了。

      问题是我使用的 Symfony 版本。

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

      【讨论】:

        【解决方案4】:

        在 Symfony 3.2 RC2 中使用 https://github.com/symfony/symfony/pull/20601 修复

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2022-08-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-05-06
          • 1970-01-01
          • 2023-03-24
          相关资源
          最近更新 更多