Как обновить CMS PHP Fusion: v7.02.07
Некогда популярный "движок" для сайта нынче безнадежно устарел... хостинг уже отключает старые версии php и MySQL... и сайт "пропадает"...
Как оживить сайт на старом PHP Fusion
Можно ли подогнать древний PHP Fusion: v7.хх.хх под требования современных веб-серверов? Можно!
Предыстория
Движок PHP Fusion: v7.хх.хх был некогда очень популярен, удачное творение ныне покойного Ника Джонса (Nick Jones) завоевало сердца многих сотен тысяч веб-мастеров и просто любителей сайтостроения. Секрет успеха прост - этот бесплатный движок (или CMS) был самым простым в освоении: установить его мог даже зеленый новичок, а освоить работу на нем (добавление статей или администрирование/модерирование) человек вовсе без знаний. При этом PHP Fusion предлагал солидный функционал: раздел статей и дополнительных страниц, форум, новости, фото галереи, раздел для скачивания, ЧаВо, голосования, мини-чаты... а с помощью многочисленных плагинов его возможности можно было расширять до астрономических масштабов!
Эта CMS была основана Ником Джонсом / Nick Jones и первая версия PHP Fusion 2 вышла в 2003 году, затем PHP Fusion: v6 и наконец, вышла версия PHP Fusion: v7. Уже "шестая" версия движка имела большую популярность и армию поклонников по всему миру, "седьмая" все это только усилила. В интернете было огромное сообщество, которое сильно обогатило движок.
Но всему приходит конец... Ник Джонс умер в самом начале 2011 года, ему было всего 38 лет... Сообщество еще какое-то время успешно поддерживало и разрабатывало этот проект, в июне 2013 вышла последняя версия PHP Fusion: v7.02.07 - она исправила часть ошибок и уязвимостей, но не все... далее выходили какие-то эпизодические "заплатки" и "рекомендации". На этом история этой CMS закончилась.
Команда соратников Ника Джонса часть разбежалась, частью перессорилась, другая сконцентрировалась на работе над новый движком: сперва это была неудачная "Восьмерка", затем более удачная "Девятка" (этот сайт именно на ней работает), затем и здесь команда разошлась во мнениях и распалась...
Проблемы PHP Fusion: v7.02.07 сегодня
В 2025 году все еще много сайтов используют этот устаревший движок, к примеру, я на нем создал большое количество сайтов и на сегодня не менее 15-20 работают, и трое из них - мои сайты. Перенести их на новые движки задача нереальной сложности! Когда на каждом из них по 5-10 тысяч материалов, не считая форума... сколько понадобится человеко-часов на это? И при этом 100% проседание в поисковиках, да и так - падение гарантировано.
Самое лучшее решение - это дать им дожить "свой век", не трогая и не беспокоя... Но вся проблема в том, что они на сегодня полностью перестали отвечать современным требованиям. И многие хостеры просто отключают эти старые версии PHP и БД, веб-сервера должны быть в актуальном и безопасном состоянии и ради ваших древних сайтов мало кто захочет возиться... Рано или поздно это произойдет.
Попытки выйти из положения были... Официальные наследники PHP-Fusion пытались предложить вариант обновления с версии 7 на версию 8, но это было геморройно и не нормально не работало. Тем более с версией PHP Fusion: v9... изменений слишком много и изначальная непродуманность (а может умышленное изменение путей)... Но все это - провал.
Решение есть!
Группа немецких товарищей Systemweb («Krelli») нашла время и силы, чтобы переписать код PHP Fusion: v7.02.07, подогнав его под современные требования веб-серверов: совместимость с версиями PHP от 5.5 до 8.4. Работа с базами данных MySQLi и PDO.
- Инструкция и ссылки (на немецком языке)
- Инструкция и ссылки (переведено мною и дополнено)
Вы скачиваете архив весом 10,5 Мб, в нем три папки: одна полная переписанная версия PHP Fusion: v7.02.07, в другой - только те файлы, которые исправлены. Третья - там инструкция.
Что выбрать и как поступить, с минимальными рисками?
Порядок обновления сайта
Для начала стоит потренироваться. Лично я на другом домене и на другом хостинге создал тестовый домен третьего уровня и первым делом провел полную установку PHP Fusion: v7.02.07 как говорится "с нуля". Потом снес и сделал все по новой - и так несколько раз, пробуя разные варианты.
Дело в том, что там всего две локали - английская и немецкая, русской нет. Пришлось закинуть русскую локаль от оригинальной версии 7.02.07. Все работает отлично, но... Но если вначале выбираем русский язык установки, появляются крякозябры... увы. Надо работать над локалью!
Хорошо, делаем установку на английском языке - проблем нет, потом в админапенеле переключаем на русский язык. И часть сайта нормально отображается, часть с крякозябрами...
Теперь берем бэкап БД своего оригинального сайта, экспортируем - делаем через phpMyAdmin и пытаемся импортировать в новую - попытка терпит неудачу. Поступаем так: вкладка Структура, затем - Отметить всё, потом - С отмеченными, выбираем - Удалить. Просят подтвердить, Да, удаляем, Теперь снова Импорт и загрузить - указываем дамп базы данных, с нашего оригинального сайта. Импорт проходит успешно.
Заходим на тестовый сайт и видим - все данные старого сайта на месте. Ура - сайт работает! Плохо - присутствуют крякозябры, а именно: Заменяющие символы в виде черных ромбов со знаком вопроса внутри. Долгие танцы с кодировками в phpMyAdmin не дают результатов, а времени и знаний на это нет... что делать? Просто в выставляем английский язык в админпанели сайта и часть сайта на английском, ваш контент на русском - проблема решена? Можно и так работать!
Но в случае описанной установки, не будут работать старые плагины - их надо снова закачать в папку infusion и пропадут ваши правки некоторых php-файлов, если вы их делали... Конечно, необходимо закачать все изображения и т.д. Но это ведь работа с тестовым или экспериментальным сайтом! Это не обязательно в данном случае. Ведь главное - сайт работает и живет по-прежнему! С новыми требованиями веб-серверов! Я выставил версию, PHP: 7.4.
ВНИМАНИЕ! Обновляем сайт!
Теперь надо все это проделать не с тестовым, а с нашим рабочим сайтом. И тут надо подстраховаться. Первым делом скачиваем весь сайт через FTP или делаем полную резервную копию сайта с помощью инструментов в панели управления на хостинге.
Затем делаем бэкап базы данных через phpMyAdmin, а заодно и через админпанель самого сайта. Все это делаем на всякий случай.
Теперь стоит обратиться в службу поддержки хостинга и спросить насчет баз данных - о поддержке mysqli и PDO. Вообще, обрисуйте им ситуацию и ваши действия - это поможет во многом. Они могут помочь в некоторых моментах, в том числе и по решению проблемы с кодировками - с крякозябрами.
Теперь через FTP закачиваем содержимое папки "update_only" на хостинг нашего сайта, заменяя имеющиеся файлы движка. Не закачиваем только два файла: _config.php и setup.php
После этого сайт должен работать и проблем никаких.
Как выше сказано, если вы вносили какие-то свои правки в заменяемые php-файлы, это все пропадет - надо править по-новой.
Резюме
Конечно, всех проблем эти исправления не решают, старая кодировка 1251... Не адаптированы к мобильным устройствам. Остаются проблемы с безопасностью... Но главное решено - сайты и при новых требованиях работают.
- Если у вас возникнут сложности со скачиванием этого пакета обновлений, напишите в комментариях или по форме обратной связи и я выложу это здесь.
Комментариев нет.