
Опубликовано: 2016-04-20 00:00:00
MODX Revolution с одного сервера на другой
Не редко возникает задача перенести сайт на MODx Revolution с одного сервера на другой,
Особенность в том что это самый простой метод (для MODx Revolution) о котором ничего не написанно в официальной документации и подобного подхода автор нигде не встречал в интернете - к этому автор пришёл самостоятельно экспереметальным методом, правда в начале мне кое-что подсказал Андрей Чирко.
Тезисно автор выделил несколько этапов и особенностей переноса на которые следует обращать внимание. Как показывает практика - большинство проблем связанных с MODx это не внимательность к деталям, упустили какую-то мелочь и у вас ничего не работает.
- Делаем бэкап базы данных и всех файлов сайта. Для удобства заранее архивируем все файлы на сервере;
- Создаём пустую базу и пользователя на новом сервере;
- Копируем и разархивируем файлы сайта и папку setup дистрибутива MODx Revolution скачанного с официального сайта;
- Проверяем наличие файла .htaccess, иначе при его отсутствии не будет работать ЧПУ;
- Делаем обычную установку MODx Revolution на новом сервере, для того чтобы в нужных места автоматом прописались правильные пути к необходимым файлам и папкам;
- На последнем этапе установки пока что не удаляем папку setup;
- Удаляем старые таблицы из БД и импортируем файл бэкапа БД сделанного ранее;
- Обновляем установку используя расширенный вариант, проверяем чтобы везде была указана правильная кодировка и префиксы таблиц в БД;
- Пароль для входа в админку будет применяться старый;
- Прописываем корректные NS-сервера.
MODX Проблемы:
Не загружается сайт или админка, первым делом может быть из за модулей ACE, FastField или нет библиотек php_curl и php_gd.
Если ошибка:
Fatal error: Call to a member function parseProperties() on a non-object inНашел следующие, упоминания: "/core/cache/system_settings/config.cache.php"
Там закомментировал строки:
|
1
2
|
/*'parser_class_path' => '/core/components/fastfield/model/fastfield/', 'parser_class' => 'fastFieldParser',*/ |
Если ошибка: core/cache/includes/elements/modplugin/1.include.cache.php
закоментировать Ace
/*$ace = $modx->getService('ace', 'Ace', $modx->getOption('ace.core_path', null, $modx->getOption('core_path').'components/ace/').'model/ace/');
$ace->initialize();*/
Еще варианты:
Проблема состоит в том, что по-умолчанию в админке MODX Revo используется кеширование JS и CSS файлов с помощью Minify. Одно из решений «в лоб», которое много где рекомендуют «если остальное не сработало», отключение кеширования. На всякий случай, расскажу как это делается:
Открываем файл /core/cache/system_settings/config.cache.php
строку ‘compress_js’ => ’1′, меняем на ’compress_js’ => ’0′,
строку ‘compress_css’ => ’1′, меняем на ’compress_css’ => ’0′,
затем, когда админка загрузиться, идём в Система->Настройки и в поиск вводим compress, будет выведено несколько пунктов, нам нужно у compress_js и compress_css установить значения Нет.
Теги для вывода статистики по рендерингу страницы modx evo:
[^qt^] - время на запросы к базе данных
[^q^] - запросов к базе данных
[^p^] - время на работу PHP скриптов
[^t^] - общее время на генерацию страницы
[^s^] - источник содержимого (база или кэш)
[^m^] - Memory