У меня проблема с настройкой 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 пока не дало никаких результатов. На данный момент я не понимаю, почему переменная теряется в почте. Была ли у кого нибудь подобная проблема? Есть идеи, где еще искать?
Заранее большое спасибо!
у.е. Роман