- 17.09.2014
Рано или поздно владелец сервера или пользователь виртуального хостинга сталкивается с обновлением версии php. И тут у сайтов на устаревших cms начинаются проблемы.
В частности очень много людей в свое время сделали или заказали сайты на Joomla 1.x или Joostina. Ниже приведен ряд действий, которые позволят восстановить работоспособность Ваших сайтов на php 5.3.
Далее вы узнаете про:
Предупреждения на сайте в модуле меню
Warning: Parameter 3 to showBlogCategory() expected to be a reference, value given in .../includes/Cache/Lite/Function.php on line 52
Warning: Invalid argument supplied for foreach() in .../modules/mod_mljoostinamenu.php on line 365
лечатся так:
Открываем файл function.php, находим строку:
и меняем её на:
$numargs = func_num_args();
for($i=1; $i < $numargs; $i++){
$arguments[$i] = &$arguments[$i];
}
Warning: Parameter 1 to modMainMenuHelper::buildXML() expected to be a reference, value given in .../libraries/joomla/cache/handler/callback.php on line 99
Правим файл /modules/mod_mainmenu/helper.php:
В строке 31:
меняем на:
Проблемы с работоспособностью формы обратной связи.
Fatal error: Cannot redeclare quoted_printable_encode() in .../includes/vcard.class.php on line 74
Меняем файл vcard.class.php (архив приложен в конце статьи).
Предупреждение при редактировании профилей пользователей или при редактировании содержимого:
Warning: Parameter 1 to DOMIT_Lite_Parser::startElement() expected to be a reference, value given in .../includes/domit/xml_saxy_shared.php on line 159
Warning: Parameter 1 to DOMIT_Lite_Parser::startElement() expected to be a reference, value given in .../includes/domit/xml_saxy_shared.php on line 169
Warning: Parameter 1 to DOMIT_Lite_Parser::startElement() expected to be a reference, value given in .../includes/domit/xml_saxy_shared.php on line 162
Открываем файл xml_saxy_shared.php и правим:
строку 159:
меняем на:
строку 162:
меняем на:
строку 169:
меняем на:
Номера строк и содержимое могут меняться в зависимости от cms и её версии, Вам нужно лишь к $this добавить &.
Сообщения на сайте об устаревших элементах:
Deprecated: Function set_magic_quotes_runtime() is deprecated in .../includes/Cache/Lite.php on line 524
Правим файл lite.php:
строку 524:
меняем на
строку 530:
меняем на
Deprecated: Assigning the return value of new by reference is deprecated in .../mambots/mbox/mbox_plugin.php on line 215
Правим файл mbox_plugin.php:
строку 215:
меняем на
т.е. убираем символ &.
Не работает JA Highslide Plugin
Warning: Parameter 2 to plgContentJA_highslide::onPrepareContent() expected to be a reference, value given in .../libraries/joomla/event/event.php on line 67
Правим файл event.php:
В строке 67:
меняем на:
return call_user_func_array ( array($this, $event), $args );
Warning: Parameter 2 to plgContentEmailCloak() expected to be a reference, value given in .../libraries/joomla/event/dispatcher.php on line 136
Правим файл dispatcher.php:
В строке 136:
меняем на:
$result[] = call_user_func_array($observer['handler'], $args);
Правим файл php.ini
В том случае, если на сайте остались еще ошибки, находим на хостинге файл php.ini и добавляем в него строку:
Прикладываю архивом отредактированные файлы.