symfony - symfony 错误处理程序的 prod 环境中缺少供应商资产
问题描述
升级到 symfony 5 后,我发现 symfony 错误处理程序丢失资产的警告:
php.WARNING:警告:包括(/var/www/projekt/nakade/vendor/symfony/error-handler/ErrorRenderer/../Resources/assets/css/error.css):无法打开流:没有这样的文件或目录{“异常”:“[对象](错误异常(代码:0):
在调查了这个问题后,我发现资产目录在 prod 环境中丢失,而在 dev env 目录和 css 类存在。我认为缺少 css 是因为该组件只是在 require-dev 中。
"require-dev": {
...
"symfony/browser-kit": "5.0.*",
"symfony/css-selector": "5.0.*",
"symfony/debug-bundle": "5.0.*",
"symfony/maker-bundle": "^1.13",
"symfony/phpunit-bridge": "^5.0",
"symfony/profiler-pack": "1.0.*",
"symfony/test-pack": "^1.0",
"symfony/var-dumper": "5.0.*"
},
env var 在 .env.local 中设置 APP_ENV=prod
由于缺少 robots.txt 和 sitemap.xml,google-bot 显示了错误消息。这是固定的,错误和警告消失了,但我很好奇。
有人知道如何解决这个问题吗?
解决方案
通过深入查看堆栈跟踪找到了答案:
[2020-04-16 23:33:35] php.CRITICAL:未捕获的异常:URI“/robots.txt”的控制器不可调用。控制器“App\Controller\MyExceptionController”既不作为服务存在,也不作为类存在.. {"exception":"[object] (InvalidArgumentException(code: ...
这是 twig.yaml 中弃用的提示:
前:
树枝:exception_controller:'App\Controller\MyExceptionController' ...
后:
树枝:异常控制器:空...
推荐阅读
- python - 具有用户定义函数的多列上的 Pandas 数据帧分组聚合
- ruby-on-rails - rspec 上的请求规范是否有正确的文件夹/文件结构?
- django - Django:如何将我的基于函数的视图重新创建为(通用编辑)基于类的视图
- docker - 在 Docker 中使用 Unicorn Flask 配置 Nginx
- cordova - MS AppCenter CodePush 未更新
- jquery - 尝试使用 OR 逻辑将同位素过滤器与分页集成
- python - 如何在包含分类变量的 Pandas 数据框中仅贬低数字列?
- javascript - 处理“无法在未安装的组件上调用 setState”反应警告的最佳方法
- python-2.7 - 使用#egg pip 安装本地存储库
- python - 如何连接具有不连续 x 轴边界的 matplotlib LineCollection 段?