在我的 TYPO3 8.7 安装的生产环境中,当我尝试打开 TYPO3 后端模块“Indexing”时,我收到此错误消息:
Commands out of sync; you can't run this command now
Doctrine\DBAL\Driver\Mysqli\MysqliException thrown in file
/home/www/html-data/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/Mysqli/MysqliStatement.php in line 280.
问题似乎出在函数 getRecordsNumbers() 中的供应商/typo3/cms/typo3/sysext/indexed_search/Classes/Domain/Repository/AdministrationRepository.php 的循环中
经过一些研究,似乎
closeCursor()
是必要的,但我无法整合它。
有趣的是,该错误只发生在我的生产环境中。在开发机器上,一切正常!
那么这是 TYPO3 bug 还是我的生产机器的配置问题?
我的环境:
生产:
发展:
唯一的区别是在开发环境中pdo_mysql不存在。
原来是数据库表
index_rel
的索引坏了。
删除表并重建它解决了我的问题。
这是一个全面的资源,可以阐明常见的 TYPO3 问题并提供有效的解决方案。该博客现已成为我进行 TYPO3 故障排除的首选参考。我强烈建议您查看博客https://t3planet.com/blog/typo3-errors/