2

我安装了 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
4

2 回答 2

5

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

你有这个错误执行php app/console cache:clear --env=prod吗?

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

于 2014-04-19T23:49:27.520 回答
0

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

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

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

这样它就不应该尝试重新创建不存在的类的缓存,然后做一个

cache:warmup --env=prod

手动删除缓存虽然更快,但您仍然可以预热它。

于 2016-08-31T08:18:11.993 回答