Пустая переменная $ pid вызывает ошибку TCEmain: попытка вставить запись на страницу '[корневой уровень]'

У меня проблема с настройкой Typo3, которую я только что перенес с хоста разработки на рабочий хост. Кажется, я не могу создавать новые элементы. Каждый раз, когда я пытаюсь это сделать, появляется следующее сообщение об ошибке:

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

Пока я исключил следующие возможности:

  • Разрешения MySQL
  • Отсутствующие модули PHP
  • Ошибка установки (перенесли проект заново)
  • Файлы Typo3 Core (перенесены вместе с установкой разработчика)

Я откопал источник сообщения об ошибке, который находится в следующем файле:

typo3_src/t3lib/class.t3lib_tcemain.php

в функции checkRecordInsertAccess.

Здесь происходит следующее: функция isTableAllowedForThisPage возвращает значение false, поскольку переменная $ pid пуста или равна нулю.

Я перепроверил это с настройкой разработчика, здесь $ pid будет 3 для того же действия.

Как-то теряется переменная $ pid. Как такое могло случиться?

Я подозреваю, что установка PHP на этом сервере некорректна. В окне разработчика я использовал XAMMP для Linux, поскольку среда не могла предоставить пакет PHP 5.3 (SuSE Linux Enterprise Server 11 SP1).

На производственном сервере работает SuSE Linux Enterprise Server 11 SP2 (SLES11 SP2) с собственными пакетами SuSE для php 5.3.8. Я не менял php.ini по умолчанию, за исключением размера загружаемого файла и ограничений памяти.

Сравнение настроек dev и proc пока не дало никаких результатов. На данный момент я не понимаю, почему переменная теряется в почте. Была ли у кого нибудь подобная проблема? Есть идеи, где еще искать?

Заранее большое спасибо!

у.е. Роман


person Community    schedule 29.03.2012    source источник


Ответы (1)


sys_domain не разрешен на корневом уровне (он определяется через TCA ['ctrl'] ['rootLevel']. Такое случается и со страницами?

Возможно, удалите все несистемные расширения, сравните настройки MySQL, отключите PHP Cache.

person maholtz    schedule 29.03.2012
comment
Во всем одинаково. Страницы, домены, учетные записи пользователей, похоже, страдают от одной и той же ошибки. Я еще не пробовал это с голой установкой, хорошая мысль напомнила мне об этом. - person ; 30.03.2012
comment
если при простой установке такие же ошибки, сравните настройки MySQL и отключите PHP Cache. - person maholtz; 02.04.2012