删除捆绑包后的 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 中记录致命错误

php symfony 致命错误

Symfony 5 缓存:清除 php.CRITICAL:致命错误:允许的内存大小

PHP 致命错误:未捕获的异常“Symfony\Component\Yaml\Exception\ParseException”

Php致命错误:使用composer安装用户捆绑时内存大小耗尽

使用 Monolog 在 Symfony2 中记录 PHP 致命错误