user673046
user673046

Reputation:

Empty $pid variable causing TCEmain error: Attempt to insert record on page '[root-level]'

I have a problem with a Typo3 setup I just transferred from its Development host to the production host. I seem unable to create new elements. Every time I try the following error message happens:

 1: Attempt to insert record on page '[root-level]' (0) where this table, sys_domain, is not allowed

So far I ruled out the following possibilities:

I dug up the source of the error message which is located within the following file:

typo3_src/t3lib/class.t3lib_tcemain.php

within function checkRecordInsertAccess.

What happens here is that the function isTableAllowedForThisPage returns with false since the $pid variable is empty or zero.

I crosschecked it with the dev setup, here the $pid would be 3 for the same action.

Somehow the $pid variable gets lost. How can that happen?

My suspicion is that the PHP setup on this server is somehow flawed. On the dev box I used XAMMP for Linux since the environment could not provide a PHP 5.3 package (SuSE Linux Enterprise Server 11 SP1).

The production server runs SuSE Linux Enterprise Server 11 SP2 (SLES11 SP2) with the native SuSE packages for php 5.3.8. I did not change the default php.ini except for file upload size and memory limits.

Comparing dev vs. proc settings didn't yield in any results so far. I'm clueless at this point why the variable gets lost in the mail. Did anyone ever have a similar problem? Any ideas on where else to look?

Thanks a lot in advance!

cu Roman

Upvotes: 0

Views: 487

Answers (1)

maholtz
maholtz

Reputation: 3631

sys_domain is not allowed on rootlevel (it is defined via TCA ['ctrl']['rootLevel']. Does it happen with pages as well?

Perhaps remove all non-systemextensions, compare MySQL Settings, deactivate PHP Cache.

Upvotes: 0

Related Questions