首页 > 解决方案 > 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”,也会出现同样的问题。

我发现的另一个解决方案是:

尝试登录您的安装工具。在“重要操作”下,您将找到“转储自动加载信息”部分。

但是我们的安装工具中不存在该选项...

编辑:安装工具中的“检查损坏的扩展”选项将新安装的扩展标记为损坏。

标签: typo3typo3-8.x

解决方案


推荐阅读