我使用扩展名“ ap_docchecklogin”(https://extensions.typo3.org/extension/ap_docchecklogin/),该扩展名在Typo3 8.7.29下工作。仅在新的TYPO3版本9.5.11下,我会收到以下消息:
没有名为EXT:ap_docchecklogin / Classes / DocCheckAuthenticationService.php的类:&Antwerpes \ ApDocchecklogin \ DocCheckAuthenticationService
这是发生错误的代码:
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['initFEuser'][] = 'EXT:ap_docchecklogin/Classes/DocCheckAuthenticationService.php:&Antwerpes\ApDocchecklogin\DocCheckAuthenticationService->bypassLoginForCrawling';
当然,我清除了缓存并更新了PHP自动加载功能。我还查看了扩展名,该类肯定存在。
两个Typo3版本都在同一服务器上以相同设置运行。
Typo3版本之间有何区别?为什么在版本8中有效?有没有人遇到过类似的问题?
答案 0 :(得分:2)
根据此处的更改日志:https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/9.5/Deprecation-86279-VariousHooksAndPSR-15Middlewares.html,在TYPO3 9 LTS版本中不推荐使用扩展中使用的Hooks。
您可以在此处看到问题:https://forge.typo3.org/issues/87357
您可以改用自定义的PSR-15中间件。
我在代码中做了一些小改动,不再显示错误。不知道这对您是否有用(我正在谈论的功能)
但是尝试这种方式...
$GLOBALS['TYPO3_CONF_VARS']
['SC_OPTIONS']
['tslib/class.tslib_fe.php']
['initFEuser'][] = 'Antwerpes\\ApDocchecklogin\\DocCheckAuthenticationService->bypassLoginForCrawling';
有帮助吗?