typo3 - Typo3:安装/激活扩展后 ClassAliasLoader 出错
问题描述
我们以作曲家模式和 t3kit 运行 TYPO3 8.7.24。(更多信息:Apache 2.4.35、PHP 7.1.23、MySQL 5.6.41、FreeBSD 11.2)
我们使用了几个扩展,系统运行良好。问题开始于我们想要安装一个新的扩展:“typo3-ter/frp-form-answers”。所以我在composer.json中添加了它:
"require": {
"t3kit/theme-t3kit": "~2.8.0",
"typo3-ter/url-forwarding": "1.2.0",
"pixelant/dashboard": "~8.0.0",
"kaystrobach/dyncss": "dev-master as 0.8.0",
"typo3-ter/frp-form-answers" : "~1.2"
},
并执行“作曲家安装”。没有错误,一切看起来都很好。之后,我通过 Typo3 后端激活了扩展。之后,我们的服务器只返回一个空白页面/空响应。我检查了 apache 错误日志,没有发现任何东西。PHP 错误日志只包含一个警告:
PHP Warning: Invalid argument supplied for foreach() in /xxxxxxxxxxx/cms/vendor/typo3/class-alias-loader/src/ClassAliasLoader.php on line 170
这发生在以下方法中:
/**
* Adds an alias map and merges it with already available map
*
* @param array $aliasMap
*/
public function addAliasMap(array $aliasMap)
{
foreach ($aliasMap['aliasToClassNameMapping'] as $alias => $originalClassName) {
$lowerCaseAlias = strtolower($alias);
$this->aliasMap['aliasToClassNameMapping'][$lowerCaseAlias] = $originalClassName;
$this->aliasMap['classNameToAliasMapping'][$originalClassName][$lowerCaseAlias] = $lowerCaseAlias;
}
}
所以我执行了“composer dump-autoload”但没有任何效果。我试图用谷歌搜索这个问题,但最常见的解决方案是最后一个作曲家命令。
因此,我没有新解决方案的来源,并且日志中没有真正的错误。有没有其他人为这个问题而苦苦挣扎?
我认为该特定扩展名没有问题。如果我尝试安装扩展“typo3-formlog”,也会出现同样的问题。
我发现的另一个解决方案是:
尝试登录您的安装工具。在“重要操作”下,您将找到“转储自动加载信息”部分。
但是我们的安装工具中不存在该选项...
编辑:安装工具中的“检查损坏的扩展”选项将新安装的扩展标记为损坏。
解决方案
推荐阅读
- wordpress - 基于 Woocommerce 中特定类别购物车项目计数的条件累进百分比折扣
- javascript - 按钮在与默认选项卡不同的选项卡中不起作用
- twitter-bootstrap - 使用 Bootstrap 5 更改导航文本颜色的新方法是什么?
- javascript - VueJS:简单脚本未处理的错误
- .htaccess - 301 重定向使用 .htaccess 无法正常工作
- java - 如何从 API 获得 888888 的响应数,方法是仅将数字放在 API 路径中,如 www.example.com/111111
- python - Python脚本失败基于Web的功能
- sql - 尝试添加一个为每个用户 ID 分配一个象限的列
- mysql - 如何组合这些表?
- python - 类中的 AttirbuteError(乌龟类继承)