我遇到了Typo3设置问题,我刚从开发主机转移到生产主机。我似乎无法创建新元素。每次我尝试以下错误信息时都会发生:
1: Attempt to insert record on page '[root-level]' (0) where this table, sys_domain, is not allowed
到目前为止,我排除了以下可能性:
我挖出了错误消息的来源,该消息位于以下文件中:
typo3_src/t3lib/class.t3lib_tcemain.php
在函数 checkRecordInsertAccess 。
中这里发生的是函数 isTableAllowedForThisPage 返回false,因为$ pid变量为空或为零。
我用开发设置对它进行了交叉检查,这里$ pid对于同一个动作将是3。
不知何故,$ pid变量丢失了。怎么会发生这种情况?
我怀疑这台服务器上的PHP设置存在一些缺陷。在开发盒上我使用XAMMP for Linux,因为环境无法提供PHP 5.3软件包(SuSE Linux Enterprise Server 11 SP1)。
生产服务器使用适用于php 5.3.8的本机SuSE包运行SuSE Linux Enterprise Server 11 SP2(SLES11 SP2)。我没有更改默认的php.ini,除了文件上传大小和内存限制。
比较dev与proc设置到目前为止没有产生任何结果。在这一点上,我一无所知,为什么变量在邮件中丢失了。有没有人有类似的问题?关于在哪里看的任何想法?
提前多多感谢!
铜 罗马
答案 0 :(得分:0)
rootlevel上不允许使用sys_domain(它是通过TCA ['ctrl']['rootLevel']定义的。页面也是如此吗?
也许删除所有非系统扩展,比较MySQL设置,停用PHP缓存。