Typo3 8.7:无法分析类:可能未加载或没有自动加载器?不断来来去去

时间:2018-12-17 17:03:42

标签: typo3 typo3-8.7.x

我曾经在标题中看到过这个问题,我总是通过在emconf中添加psr-4自动加载器来解决此问题,并只是重新激活我的扩展名。

现在我面临着同样的问题:

Could not analyse class: maybe not loaded or no autoloader?

但是我一如既往地正确设置了自动装带器。这也发生在多个扩展中。.在删除安装工具和转储自动加载中的php缓存并重新激活我的扩展后,错误消失了一段时间,几个小时后又恢复了..因此,我认为它是必须与临时文件有关,但我不知道它到底是什么。

有人可以解决吗?我已经在stackoverflow上看到了很多有关此问题的主题,我过去曾使用过这些主题,但不幸的是,现在没有一个主题对我有用。

重要事实:此错误现在正在我的新服务器上发生。在我的旧服务器(扩展名中具有相同的代码)上,这没有发生,并且它们工作正常。

谢谢。

编辑:供应商名称等已正确设置,语法没有任何错误。正如我所说的,这些扩展程序工作正常。

Edit2:我刚刚发现了Typo3的变更日志:

https://docs.typo3.org/typo3cms/extensions/core/Changelog/8.4/Breaking-78222-ExtensionAutoloadInformationIsNowInTypo3confautoload.html

但是对于没有作曲家安装的影响,没有解决方案。有人可以为我提供一个吗?

3 个答案:

答案 0 :(得分:0)

使用composer installation且使用未通过composer安装的扩展时,需要在项目的根composer.json中添加自动加载信息,然后运行composer dump-autoload。 (ext_emconf.php不能在作曲家模式下工作吗?)

{
    ...
    "autoload": {
        "psr-4": {
            "Vendor\\ExtensionNameA\\": "public/typo3conf/ext/extension_name_a/Classes",
            "Vendor\\ExtensionNameB\\": "public/typo3conf/ext/extension_name_b/Classes"
        }
    }
}

对奇怪的计时事物“可能起作用,后来却不起作用”的可能解释。可能与TYPO3后端中的红色清除缓存按钮有关(清除所有缓存)。当您按下此按钮并清除缓存文件时,它可能开始不起作用。然后,您需要重新安装扩展程序,以使自动加载器“暂时”运行,直到再次按下清除所有缓存按钮为止。通过上面提到的解决方案,它可以永久使用。

答案 1 :(得分:0)

您是否在ext_tables.php中保留了任何配置?

由于Configuration/TCA/[Override/]中期望缓存的TCA配置,因此ext_tables.php中的所有代码都可能丢失。

如果您希望每次运行都执行一些配置,则需要将其放入ext_localconf.php

答案 2 :(得分:0)

感谢所有帮助,我现在自己找到了解决方案。

实际上,这实际上并不是由任何自动加载器配置引起的,而old version of fpdf显然是导致两个扩展无法正确加载其类的原因。引发的异常只是误导。我有upgraded the version of fpdf,现在可以正常使用了。对我来说,目前还不清楚为什么同一个代码一周前就可以工作,现在却失败了,但是至少我已经找到了解决我问题的方法。