понедельник, 24 октября 2011 г.

Joomla 1.5.12 и php 5.3

Штатно старые версии жумлы не работают в php 5.3, надо немного подправить.

В разных версиях разные ошибки, поэтому всё, что было мной найдено в сети

Вариант 1:
Joomla! → Учим меню Jooml'ы <=1.5.13 дружить с PHP 5.3
Сегодня перенося старый сайт нового клиента на свой vds, обнаружил, что пропал вывод меню.
Гугление дало понять две вещи:
1. Проблема не решена
2. Для решение проблемы предлагают откатить PHP на старую ветку (5.2 и ниже)
Естественно это вообще не вариант. По-этому пришлось как всегда всё делать самому.
Ошибка заключается в том, что данные в функцию передаются по ссылке. Для её исправление, достаточно убрать амперсанды в нужных местах.
Для основного меню сайта, в файле /modules/mod_mainmenu/helper.php на строке 31 перед параметром $params.
С админкой телодвижений немного больше =)
В файле /libraries/joomla/html/html/menu.php на 124ой убираем амперсанд от $children в параметрах вызова функции treerecurse, затем в /libraries/joomla/html/html/grid.php на строках 93,115,157 перед $row.

http://forum.dklab.ru/viewtopic.php?t=36396

Вариант 2:

http://inetmarketing.ws/sozdanie-sajtov/obnovlyaem-joomla-dlya-php-5-3-svoimi-rukami
(много кода)

Вариант 3:

Warning: Parameter 3 to showItem() expected to be a reference, value given in /var/www/prohotel/data/www/media.prohotel.ru/htroot/includes/Cache/Lite/Function.php on line 100
Warning: Parameter 1 to HTML_content::show() expected to be a reference, value given in /var/www/prohotel/data/www/media.prohotel.ru/htroot/includes/Cache/Lite/Function.php on line 92

http://forum.joomla.org/viewtopic.php?f=268&t=530296

4 комментария:

  1. Низкий поклон! актуально и для PHP5.4

    ОтветитьУдалить
  2. Премного благодарен! Заработало по варианту 1.

    ОтветитьУдалить
  3. Человечище!!! спасибо большое. Помог вариант 1. стояла Joomla 1.5.11 и установили PHP 5.3

    ОтветитьУдалить