drupal - Drupal 8 中缓存重建后缺少路由
问题描述
有一个名为 phys_custom 的模块,它定义了一个路由 phys_custom.homepage (/homepage),它工作正常,直到我清除缓存,此时它不再可用。
看看下面的输出。现在我每次清除缓存时都需要卸载并重新安装我的模块。我将如何调试这个?
$ drush @stewardd8.test -l phys cr
[success] Cache rebuild complete.
$ drush @stewardd8.test -l phys pmu phys_custom
[success] Successfully uninstalled: phys_custom
$ drush @stewardd8.test -l phys pm:enable phys_custom
[success] Successfully enabled: phys_custom
$ drush @stewardd8.test -l phys ev 'print_r(drupal_get_path("module", "phys_custom") . PHP_EOL)'
sites/phys/modules/phys_custom
$ drush @stewardd8.test -l phys ev 'print_r(\Drupal\Core\Url::fromRoute("phys_custom.homepage")->toString() . PHP_EOL)'
/homepage
$ drush @stewardd8.test -l phys cr
[success] Cache rebuild complete.
$ drush @stewardd8.test -l phys ev 'print_r(drupal_get_path("module", "phys_custom") . PHP_EOL)'
sites/phys/modules/phys_custom
$ drush @stewardd8.test -l phys ev 'print_r(\Drupal\Core\Url::fromRoute("phys_custom.homepage")->toString() . PHP_EOL)'
In RouteProvider.php line 201:
Route "phys_custom.homepage" does not exist.
我正在使用 drush 9.6.2 和 Drupal 8.6.15
解决方案
这实际上是当前正在处理的核心错误,重建缓存时未注册多站点目录中的扩展。那里的补丁解决了这个问题。
推荐阅读
- mapstruct - 为所有其他映射注册映射
- ios - App Store Connect 操作错误:路径中缺少 CFBundleIdentifier
- android - webrtc 看不到远程视频但可以听到音频
- centos - 无法映射名称 UUID | 起搏器 | linux集群
- python - sympy 中的其他简化
- redirect - Identity Server 4 - 取消重定向到登录并返回 401
- node.js - shopify结账支付api上的404
- domain-driven-design - DDD - 执行需要了解多个聚合根的规则
- jquery - 检查输入值是否与 ids 值相同
- node.js - 将限制设置为最大行数