Обновление MODX Evolution до версии 1.4.7 и адаптация сайта для работы на современных версиях PHP (7.2 и выше)
Цель
- Обновить MODX Evolution до версии 1.4.7, обеспечив совместимость с новыми стандартами PHP.
- Сохранить функциональность сайта после обновления.
- Обеспечить корректную работу пользовательских сниппетов, плагинов и кастомного функционала.
- Устранить проблемы, связанные с устаревшими функциями PHP.
Область работ
1. Обновление MODX Evolution
- Проведение полного обновления ядра MODX до версии 1.4.7.
- Создание резервной копии базы данных и файлов перед обновлением.
- Проверка совместимости текущих настроек конфигурации с новой версией MODX.
- Обновление пользовательских файлов и стандартных компонентов (сниппеты, чанки, плагины).
2. Адаптация пользовательских сниппетов
- Проверка совместимости кастомных сниппетов с PHP 7.2+.
- Исправление устаревших функций:
- Заменены
mysql_*
функции наmysqli_*
или PDO. - Добавлены проверки типов данных (
is_array
,is_object
) перед использованием функций, таких какcount()
.
- Заменены
- Обновление стандартов кода для соответствия современным версиям PHP.
3. Обновление плагинов
- Проверка актуальности используемых плагинов и их совместимости с MODX 1.4.7.
- Адаптация плагинов, использующих устаревшие функции PHP (например,
ereg
,split
,create_function
). - Замена плагинов на более современные или исправление их кода.
4. Обновление дизайна и frontend-части
- Проверка и корректировка кода JavaScript (устаревшие библиотеки jQuery, плагины).
- Актуализация CSS, если это необходимо.
5. Тестирование
- Полное тестирование всех функций сайта:
- Формы отправки.
- Работу административной панели.
- Кэширование и производительность.
- Отправку почты.
- Исправление всех обнаруженных ошибок.
Технические изменения
1. Исправление функций для работы с базой данных
- Замена устаревших функций
mysql_*
наmysqli_*
:
2. Совместимость с PHP 7.2+
- Устранение ошибок:
count(): Parameter must be an array or an object that implements Countable
.Use of undefined constant
.
- Добавление проверки типов:
3. Использование современных стандартов
- Удалены вызовы устаревших функций, таких как
create_function
,split
,ereg
. - Обновление кода на современные аналоги, такие как анонимные функции и регулярные выражения.
4. Обновление структуры MODX
- Перенос пользовательских настроек в конфигурационные файлы.
- Оптимизация структуры кэша и кэширования.
Этапы реализации
-
Подготовка
- Резервное копирование базы данных и файлов.
- Сбор информации о текущем окружении (версия PHP, используемые плагины).
-
Обновление ядра MODX
- Загрузка и установка MODX Evolution 1.4.7.
- Перенос кастомных настроек в новую структуру MODX.
-
Адаптация пользовательских модулей
- Исправление кастомных сниппетов.
- Обновление плагинов до совместимых версий.
-
Тестирование
- Проверка работы всех функций сайта.
- Исправление обнаруженных ошибок.
-
Финальная оптимизация
- Настройка кэширования.
- Оптимизация скорости работы сайта.
Сроки выполнения
Общая продолжительность работ: 5–7 рабочих дней (в зависимости от сложности кастомного кода и плагинов).
Результат
- Сайт, работающий на MODX Evolution 1.4.7.
- Полная совместимость с PHP 7.2+.
- Исправление всех ошибок, связанных с устаревшими функциями.
- Тестирование и обеспечение стабильной работы всех компонентов сайта.