删除捆绑包后的 symfony 致命错误
Posted
技术标签:
【中文标题】删除捆绑包后的 symfony 致命错误【英文标题】:symfony fatal error after removing bundle 【发布时间】:2018-02-19 05:37:27 【问题描述】:我创建了一个名为 UserBundle 的包,当我需要删除它时,我确实这样做了:
-
在 AppKernel 中取消注册 Bundle
删除捆绑配置
2.1 移除捆绑路由
2.2 移除Bundle配置
从文件系统中删除捆绑包
3.1 移除捆绑资源
删除其他捆绑包中的集成
但是当我尝试执行 soms 命令时,这就是我得到的:
[Symfony\Component\Config\Exception\FileLoaderLoadException] 捆绑“UserBundle”不存在或未启用。也许您忘记将它添加到 AppKernel.php 文件的 registerBundles() 方法中?在@UserBundle/Resources/config/s ervices.yml(从“C:\xampp\htdocs\MT\app/config\config.yml”导入)。确保“UserBundle/Resources/config/services.yml”包已正确注册 d 在应用程序内核类中加载。如果捆绑包已注册,请确保捆绑包路径“@UserBundle/Resources/config/services.yml”不为空。
[无效参数异常] 捆绑“UserBundle”不存在或未启用。也许你忘了在你的 AppKernel.php 文件的 registerBundles() 方法中添加它?
Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache 处理 symfony-scripts 事件并以异常终止
[运行时异常] 执行""cache:clear --no-warmup""命令时出错:
[Symfony\Component\Config\Exception\FileLoaderLoadException] 捆绑“UserBundle”不存在或未启用。也许您忘记将它添加到 AppKernel.php 文件的 registerBundles() 方法中?在@UserBundle/Resources/config/services.yml (从“C:\xampp\htdocs\MT\app/config\config.yml”导入)。 确保“UserBundle/Resources/config/services.yml”包已正确注册并加载到应用程序内核类中。如果捆绑包已注册,请确保捆绑包路径“@UserBundle/Resources/config/services.yml”不为空。
当我刷新服务器“http://127.0.0.1/mt/web/”时,我得到:
致命错误:未捕获的异常 'InvalidArgumentException' 带有消息 'Bundle "UserBundle" 不存在或未启用。也许您忘记将它添加到 AppKernel.php 文件的 registerBundles() 方法中?在 C:\xampp\htdocs\MT\vendor\symfony\symfony\src\Symfony\Component\HttpKernel\Kernel.php:198 堆栈跟踪:#0 C:\xampp\htdocs\MT\vendor\symfony\symfony\src \Symfony\Component\HttpKernel\Kernel.php(232): Symfony\Component\HttpKernel\Kernel->getBundle('UserBundle', false) #1 C:\xampp\htdocs\MT\vendor\symfony\symfony\src\ Symfony\Component\HttpKernel\Config\FileLocator.php(51): Symfony\Component\HttpKernel\Kernel->locateResource('@UserBundle/Res...', NULL, false) #2 C:\xampp\htdocs\MT \vendor\symfony\symfony\src\Symfony\Component\Config\Loader\FileLoader.php(147): Symfony\Component\HttpKernel\Config\FileLocator->locate('@UserBundle/Res...', 'C: \xampp\htdocs...', false) #3 C:\xampp\htdocs\MT\vendor\symfony\symfony\src\Symfony\Component\Config\Loader\FileLoader.php(101): Symfony\Component\Config \Loader\FileLoader-> 在 C:\xampp\htdocs\MT\vendor\symfony\symfony\src\Symfony\Component\Config\Loader\FileLoader.php 第 179 行
【问题讨论】:
composer.json
文件中是否引用了捆绑包?您可能也需要删除它。
你清理缓存了吗?试试rm -rf app/cache/*
composer.json 中没有引用它
当我尝试执行任何命令时,我无法清除缓存 cus 我得到了那个可爱的错误消息
按照@ste 的建议,使用 rm -r app/cache/* 从命令行清除缓存。将此视为超级用户缓存清除。由于您所做的更改,有时您无法运行控制台命令。这就是其中之一。
【参考方案1】:
在C:\xampp\htdocs\MT\app\config\config.yml
中,您可能有类似的内容:
imports:
- resource: @UserBundle/Resources/config/services.yml
可能还有与用户捆绑包相关的配置部分,即
user_bundle:
...
您必须手动删除这两个才能使一切恢复正常。
【讨论】:
【参考方案2】:尝试通过删除这些文件夹手动清除缓存:“var\cache\dev”和“var\cache\prod”对于 Symfony 3.x 或“app Symfony 2.x 的 \cache\dev" 和 "app\cache\prod" 。
【讨论】:
【参考方案3】:您能否检查一下您是否在 app/config/service.yml
中使用此捆绑包如果它不起作用,请尝试使用您的 IDE(集成开发环境)在您的项目中搜索您的包。如果您发现一些结果,只需将其删除。
清除缓存
【讨论】:
我删除了“UserBundle”的所有外观,但是当我尝试使用以下命令清除缓存时: php bin/console cache:clear --no-warmup -e prod 它不执行命令以上是关于删除捆绑包后的 symfony 致命错误的主要内容,如果未能解决你的问题,请参考以下文章
Symfony 5 缓存:清除 php.CRITICAL:致命错误:允许的内存大小
PHP 致命错误:未捕获的异常“Symfony\Component\Yaml\Exception\ParseException”