Странный глюк в TYPO3 4.4 – File “index.php” was not found
В прошлой заметке я подробно рассказал про релиз новой версии TYPO3 4.4 — какими функциями обзавелась CMS, что было улучшено и т.п. Многие из вас, наверное, могли возразить, что обновление было совершенно достаточно давно (еще в начале лета), так почему же я до сих пор молчал. Дело в том, что последние где-то проекта 4 я пытался начинать делать на TYPO3 4.4, но все время в админке появлялся непонятный мне глюк. Информацию про него найти, увы, не удалось, а времени на детальное изучение проблемы не было. Сейчас ситуация немного прояснилась, поэтому решил поделиться с вами тем, что удалось узнать, хотя там и не сильно много информации.
Итак, что же я делал при установке? — да, в принципе, ничего не обычного. Это и смущало больше всего. После загрузки исходников TYPO3 на ФТП я запускал инсталятор, указывал путь к БД и проводил базовую настройку параметров системы. Далее первым шагом я брался за установку экстеншена TemplaVoila (предварительно ставил также static_info_tables). После этого в админке появилась (как и должна была) страница для работы с контентом от модуля TemplaVoila вместо стандартной. И вот когда я на нее заходил видел сообщение «File «index.php» was not found»:
По логике вещей я сразу же заподозрил, что версии системы TYPO3 4.4 и экстеншена TemplaVoila могут каким-то образом не совпадать. Более детальная проверка показала, что все требования соблюдены. Более того, я даже решил поставить более ранние версии плагина чтобы проверить работу с ними. К сожалению, этого ничего не дало и мне приходилось отказываться от TYPO3 4.4 в пользу предыдущей «ветки» версий системы, где все «по старинке» нормально работало. В принципе, для сайтов это было не критично, так как и новая, и старая версии TYPO3 обладают всеми необходимыми для работы возможностями.
Буквально на днях я взялся за разработку очередного сайта на TYPO3 и решил все же выяснить причину глюка. Кстати, поинтересовался относительно проблемы у своих знакомых веб-разработчиков — многие уже сделали на TYPO3 4.4 не один сайт и ничего подобного не замечали. На форуме TYPO3 и в Google также наблюдалось подозрительное затишье.
После некоторых тестов я обнаружил интересную деталь — оказывается фраза с ошибкой «File «index.php» was not found» появляется не только при работе с модулем TemplaVoila, но и tt_news. Собственно, это дало направление для дальнейших мыслей — очевидно, что глюки модулей тут не при чем, проблема в самой системе и настройках. Подозрение пало на ошибку «прав доступа» к файлам на ФТП, но установка 777 ничего не дала. Через некоторое время удалось найти человека, у которого также возникла похожая ситуация:
With tt_news ext after click «News Admin» i got this error in 3rd column:
Error! Reason: File «index.php» was not found (2)!
Чуть ниже предлагается решение:
Paths in mod1/conf.php seem to be wrong. I fixed them like this:
// DO NOT REMOVE OR CHANGE THESE 3 LINES:
define(‘TYPO3_MOD_PATH’, ‘../typo3conf/ext/tt_news/mod1/’);
$BACK_PATH=’../../../../typo3/’;
То есть проблема заключается в путях установки. Я проверил пути для TemplaVoila в файле mod1/conf.php, но различные подставленные варианты никаких позитивных результатов не дали. Признаюсь, я в вопросе хостингов и настроек серверов не спец, поэтому действовал больше «наугад».
Собственно, дальше решил проверить с чего же (на каком этапе) возникает проблема. Для этого удалил TYPO3 и принялся устанавливать заново. При выборе пакета установки я задал не «создание демо сайта», а «пустую админку» без предварительных настроек. И что бы вы думали? — глюк «File «index.php» was not found» сразу же испарился. Я сразу же поставил TemplaVoila и парочку других модулей для теста — ошибки не наблюдалось! Что характерно, товарищи по работе говорили, что у них новая TYPO3 4.4 нормально работает как с «пустым сайтом», так и с «установленным демо проектом». Возможно, какие-то специфические настройки хостинга, которые сбирают пути, но тут я ничего конкретного сказать не смогу. Единственное что для себя решил — установку TYPO3 4.4 нужно делать без «демо сайта» с нуля самому. Если же вы знаете как побороть глюк и заставить все работать вместе с «презентационным сайтом», будет интересно почитать в комментариях.