我的TYPO3 4.5网站上有一个错误:
核心:异常处理程序(WEB):未捕获TYPO3例外:#1283790586: 该表的$ TCA数组中没有条目 " pages_language_overlay&#34 ;.这意味着函数enableFields() 使用无效的表名作为参数调用。 | 文件/t3lib/class.t3lib_page.php中抛出InvalidArgumentException 第1150行
我不明白会发生什么,但我的后端仍然可用。 如何解决?
答案 0 :(得分:0)
美国答案:TYPO3 4.5已经过时了。将您的安装升级到更新版本。也许Bug已经全部解决了。
如果无法进行更新,则问题是您所做的是抛出错误。最近做了哪些改变?很快就安装或更新了什么扩展?
答案 1 :(得分:0)
我假设您对TYPO3了解不多,所以我试着说明TYPO3是如何工作的(关于旧版本)。
TYPO3具有数据库中表格和字段的定义 第一部分是MySQL定义(因为它可能是除MySQL以外的其他数据库) 第二部分(TCA = T YPO3 C onfiguration A rray)是这些表如何为编辑器构建BackEnd(BE)接口的定义
由于这些信息可以通过扩展来增强,每个扩展可以将它的信息添加到(缓存)池中,并且该池被视为参考。
数据库定义位于 ext_tables.sql
文件中。在 ext_localconf.php
和 ext_tables.php
中生成了TCA 。今天TCA修改应该在Configuration/TCA/
tablename
.php
(针对新表格)或Configuration/TCA/Override/
tablename
.php
(用于修改现有表格)。
在为每个调用包含和执行所有这些文件之前,它们将被收集并存储为一个生成的PHP文件。
您的问题可能会发生,因为收集的文件中存在语法错误,并且错误中所有信息都已建立,但错误之后的所有内容都将丢失。
尝试清理您的安装并删除这些缓存:在前6版本中,temp_CACHED_<hash>_ext_tables.php
文件夹中有temp_CACHED_<hash>_ext_localconf.php
和typo3conf/
个文件。全部删除它们。下次调用TYPO3(FE或BE)将重建两个文件。确保它们没有语法错误。
在安装工具(<domain>/typo3/install/
)中,您可以清除所有缓存,并将现有数据库与所有活动(!)扩展中收集的定义进行比较。如果存在差异,则数据库可以&#39;更正 。 在更改任何内容之前,请务必先备份数据库。