Работоспособность Joomla при смене версии PHP (11.01.2013). |
![]() |
2013 - Январь | |||
11.01.2013 12:37 | |||
Это очень важная информация для администраторов Joomla. Joomla версии 3.0.1, самая последняя на текущий момент, требует версию PHP на сервере не ниже 5.3.1. Я столкнулся с тем, что моей версией являлась 5.2.3. Оформил заявку в техподдержку: поставьте самую современную версию PHP. Поставили 5.3.18. Провел на тестовом домене успешную установку Joomla версии 3.0.1, а про свою Joomla v.1.5.5 как-то подзабыл. Проходит полчаса. Получаю письмо, что у меня с Joomla v.1.5.5 проблемы. Захожу на сайт - менюшки не отображаются, ошибки "Warning" одна на другой. Захожу в админку - одни "Warning", "Warning", материалы не отображаются, настройки не отображаются. Караул, да и только. Внешне это все выглядит страшно. Но если знать, что подправлять - решение всех проблем занимает 10 минут. С последней проблемой, которую здесь описываю, я возился 2 часа. Чтобы исправить отображение всех меню в админке, правим файл /www/libraries/joomla/html/html.php. Перед строчкой "return call_user_func_array( array( $className, $func ), $args );" вставляем код: Чтобы исправить отображение общих настроек в админке, правим файл /www/libraries/joomla/cache/cache.php. Заменяем строчку "if(call_user_func_array( array( trim($class), 'test' ), null))" на "if (call_user_func_array(array(trim($class), 'test'), array()))". А также то же самое правим в файле /www/libraries/joomla/cache/cache.php. Дополнительные компоненты могут ругаться ошибками другого рода: "Deprecated: Assigning the return value of new by reference is deprecated in...". Решается это путем нахождения строки типа "$this->_modules[$moduleType][$sig] = & new $moduleClass;" и стиранием в ней амперсанда. Проблема восстановления работы меню решается таким способом. Находится файл /www/modules/mod_mainmenu/helper.php и стирается амперсанд в "function buildXML(&$params)". Важность всей этой информации заключается ещё и в том, что некоторые хостеры сами могут поменять версию PHP без уведомления пользователя, и все эти танцы с бубном могут возникнуть внезапно. Также стоит отметить, что после смены версии PHP мне пришлось менять пароль на FTP, т.к. по старому не пускало. Также стоит добавить, что в интернете очень много именно вредных советов по данной проблеме. Переустановить Joomla текущей версии (вообще неверный совет), установить Joomla новой версии (миграция с 1.5.x на 2.x и выше - тот ещё геморрой), перезагрузить сервер (неверный совет), откатиться обратно на PHP версии 5.2.x (а если мне это неподвластно или по иным причинам не хочу?) и т.д. |
|||
Обновлено ( 15.11.2013 12:43 ) |