В данном материале я хочу посвятить проблемам перехода на новую версии PHP.
Очевидно, что многие наслышаны про прирост производительности чуть ли не в два раза. Многие хостинги уже обзавелись поддержкой 7 пхп, а те, которые не торопятся этого сделать, могут потерять своих клиентов. Однако есть некоторая загвоздка, все версии джумлы, кроме Joomla 3.5 не поддерживают современную PHP 7
Кто идет в ногу со временем, то наверняка поддерживают сайт на последней версии Joomla 3, для них разработчики обещают обновление в один клик. Для владельцев более старых версий это очередной повод задуматься о миграции на актуальную версию. Но в принципе, если есть хоть немного навыка программирования, то даже Joomla 2.5 можно легко адаптировать под пхп 7.
Ради эксперимента я решил обновиться до второй беты Joomla 3.5
Само обновление вызвало ошибку обновления базы данных, поэтому пришлось несколько раз вручную делать фикс базы данных с 3.4 до 3.5
Однако на этом проблемы не закончились. Некоторые сторонние компоненты отказались работать из-за ошибки плагина redirect. Пример выдаваемой ошибки был таков:
Fatal error: Uncaught Error: Call to a member function add() on null in
С задержкой где-то в месяц состоялся выход очередной беты Joomla 3.5
Многие моменты были отточены, и на новой версии уже ошибок не возникло, поэтому можно было с уверенностью тестировать производительность. Но и тут меня ждали подводные камни: скорость ответа сервера ( а то бишь выполнение тех самых php скриптов) на моем сайте по данным Google pagespeed составляет меньше 0.2 секунды, а значит фактически без вызова стека придется поверить на слово на прирост производительности. А синтетические тесты по скорости загрузки сайта показали приблизительно одинаковый результат. Единственное, в результате ошибки ключа Recaptcha, вес страницы тестового сайта оказался немного меньше, и поэтому он ненамного выигрывал в спидтестах.
Несомненно, стоит обновляться на связку Joomla 3.5 и PHP 7. Однако обязательно стоит сделать бекапы и тщательно оттестировать работу сайта, так как новая версия содержит значительные изменения.