Ошибки при обновлении Modx Revolution
Обновить MODX Revolution до актуальной версии не сложно, но многие пренебрегают этим. В новые версии движка включают исправления ошибок и устранение уязвимостей, поэтому откладывать обновление в долгий ящик не стоит.
В первую очередь перед обновлением сделайте резервную копию всех файлов сайта и базы данных. Это требуется чтобы в случае неудачного обновления сделать откат.
Скачайте актуальную версию MODX Revolution (Traditional). Распакуйте архив и закачайте его содержимое на хостинг, перезаписывая старые файлы движка. Затем начинаем установку.
В параметрах установки ставим галочку «Обновление существующей установки» и нажимаем «Далее». По идее, всё должно нормально обновиться. На практике иногда встречаются проблемы.
Ошибки при обновлении MODX
В самом начале обновления MODX может появится ошибка:
To use PHP 5.3.0+, you must set the date.timezone setting in your php.ini.
Please do set it to a proper timezone before proceeding. A list can be found here.
Нас просят прописать в файле конфигурации php.ini временную зону:
И действительно, при первичной инсталляции MODX Revolution после этого установка шла дальше, а вот при обновлении почему-то проблема не решилась. Причину я так и не нашел, возможно, требуется прописать timezone где-то ещё.
Самый простой вариант обойти эту ошибку — в начале файла установщика MODX (/setup/index.php) прописать код:
После решения этой проблемы на следующем шаге обновления MODX Revolution я столкнулся с ещё одной ошибкой:
Array (
[0] => 42S21
[1] => 1060
[2] => Duplicate column name 'input_properties' )
Решилась проблема так, из каталога «/core/packages/» удаляем папку core и пробуем ещё раз пройти этот пункт установки/обновления MODX. Мне помогло.
Данное решение так же помогает при следующей ошибке:
Возможно также возникновение ошибок, связанных с правами на каталоги, но на них я заострять внимание не буду, они быстро решаются установкой нужных прав (через терминал, FTP или SSH клиент).
После обновления MODX Revolution не забудьте удалить с хостинга каталог setup.
Предупреждение «Каталог ядра в открытом доступе»
В новых версиях движка в панели администрирования часто появляется сообщение «Каталог ядра в открытом доступе». Многие знают, что этим каталогом «/core/» и его файлы не должны быть доступны из вне. Для того чтобы ограничить доступ к ним, требуется в корне каталога создать файл .htaccess с содержимым:
<ifModule mod_authz_core.c> Require all denied </ifModule> <ifModule !mod_authz_core.c> deny from all Satisfy All </ifModule>
Несмотря на это, предупреждение об открытом каталоге ядра часто не пропадает. Это происходит из-за того что MODX осуществляет проверку с помощью доступности файла «/core/docs/changelog.txt», но есть проблема. На многих хостингах за отдачу изображений и текстовых файлов отвечает не apach, для которого созданы правила в htaccess, а nginx. Соответственно, текстовый файл будет доступен несмотря на запрет. В этом нет ничего страшного. Следует проверить доступность других важных файлов, например «/core/cache/logs/error.log», а файл «changelog.txt» просто переименовать или удалить.
После обновления ресурсы отдают 500 ошибку
Если после обновления MODX до версии 2.5.1 в панели администрирования невозможно отктыть ресурсы, то попробуйте удалить визуальный редактор TinyMCE.
Сделать это можно в разделе управления пакетами. В качестве замены рекомендуется использовать TinyMCE RTE или вовсе отказаться от редактора и использовать Ace с подсветкой html синтаксиса.
Подскажите пожалуйста на сколько рисково переходить с modx revo 2.2.15 (16) на 2.3, многие дополнения могут «полететь». Уж больно не хочется переделывать весь сайт заново.
Сталкивались ли вы с подобным? Как с этим бороться и нужно ли заострять на этом внимание?
сработало именно таким способом — шаг влево шаг вправо — ERROR )
хост jino
на выходе последняя версия revo на последней версии php
1. нормально встает REVO 2.2.16 на php 5.6
2. ставим provisioner
3. перенос контента с EVO
4. ставим upgradeMODX
5. чистим кеш удаляем /core/cache/*
6. удаление /core/packages/core/
7. upgradeMODX до 2.6.5
8. ставим php 7.0
9. чистим кеш удаляем /core/cache/*
10. upgradeMODX 2.7.0
11. чистим кеш удаляем /core/cache/*
12. жмем upgradeMODX 2.7.1 переходим на стр. установки /setup/
13. ставим php 7.3
14. ставим 2.7.1 через /setup/