Symfony2 - 手动删除了FOS用户包,现在无法在生产模式下清除缓存

时间:2014-04-19 22:28:35

标签: symfony fosuserbundle production-environment removeall clear-cache

我安装了FOS Userbundle来学习它,但我决定不再需要它了。然后我做了以下删除它。删除后,我运行了作曲家更新。

  • 从供应商文件夹
  • 中删除了该捆绑包
  • 从appKernel中删除
  • 从composer.json文件中删除
  • 删除了实体User.php文件
  • 从config.yml,security.yml,routing.yml
  • 中删除了设置

现在,当我尝试清除生产模式的缓存时,我在下面收到以下错误。在开发模式下清除缓存可以正常工作。

可以告诉我我做错了什么或者我缺少什么来删除FOS用户包并且能够在生产模式下清除缓存?

PHP Fatal error:  Class 'FOS\UserBundle\EventListener\LastLoginListener' not found in /var/www/html/HealthFitness/vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/ContainerAwareEventDispatcher.php on line 142

PHP Stack trace:

PHP   1. {main}() /var/www/html/HealthFitness/app/console:0

PHP   2. Symfony\Component\Console\Application->run() /var/www/html/HealthFitness/app/console:27

PHP   3. Symfony\Bundle\FrameworkBundle\Console\Application->doRun() /var/www/html/HealthFitness/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:121

PHP   4. Symfony\Component\DependencyInjection\Container->get() /var/www/html/HealthFitness/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php:86

PHP   5. appProdProjectContainer->getEventDispatcherService() /var/www/html/HealthFitness/app/bootstrap.php.cache:2037

PHP   6. Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher->addSubscriberService() /var/www/html/HealthFitness/app/cache/prod/appProdProjectContainer.php:343

2 个答案:

答案 0 :(得分:5)

您的错误确实可能来自缓存错误。

执行php app/console cache:clear --env=prod时出现此错误吗?

您可以手动删除app / cache / prod / *。

答案 1 :(得分:0)

如果您无法手动删除文件,这也应该有效。

您还可以使用--no-warmup--no-optional-warmers开关:

cache:clear --no-warmup --no-optional-warmers --env=prod

这样它不应该尝试重新创建非现有类的缓存然后执行

cache:warmup --env=prod

虽然手动移除缓存速度更快,但您仍然热身。