我曾经在标题中看到过这个问题,我总是通过在emconf中添加psr-4自动加载器来解决此问题,并只是重新激活我的扩展名。
现在我面临着同样的问题:
Could not analyse class: maybe not loaded or no autoloader?
但是我一如既往地正确设置了自动装带器。这也发生在多个扩展中。.在删除安装工具和转储自动加载中的php缓存并重新激活我的扩展后,错误消失了一段时间,几个小时后又恢复了..因此,我认为它是必须与临时文件有关,但我不知道它到底是什么。
有人可以解决吗?我已经在stackoverflow上看到了很多有关此问题的主题,我过去曾使用过这些主题,但不幸的是,现在没有一个主题对我有用。
重要事实:此错误现在正在我的新服务器上发生。在我的旧服务器(扩展名中具有相同的代码)上,这没有发生,并且它们工作正常。
谢谢。
编辑:供应商名称等已正确设置,语法没有任何错误。正如我所说的,这些扩展程序工作正常。
Edit2:我刚刚发现了Typo3的变更日志:
但是对于没有作曲家安装的影响,没有解决方案。有人可以为我提供一个吗?
答案 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
,现在可以正常使用了。对我来说,目前还不清楚为什么同一个代码一周前就可以工作,现在却失败了,但是至少我已经找到了解决我问题的方法。