RealAdmin.ru

Обновляем MODX Revolution и обходим возникающие ошибки

MODX,Ошибка
Категория: Сайтострой
30 Сен 2013 г. в 23:48

Обновить MODX Revolution до актуальной версии не сложно, но многие пренебрегают этим. В новые версии движка включают исправления ошибок и устранение уязвимостей, поэтому откладывать обновление в долгий ящик не стоит.

В первую очередь перед обновлением сделайте резервную копию всех файлов сайта и базы данных. Это требуется чтобы в случае неудачного обновления сделать откат.

Скачайте актуальную версию MODX Revolution (Traditional). Распакуйте архив и закачайте его содержимое на хостинг, перезаписывая старые файлы движка. Затем начинаем установку.

http://YouSite.ru/setup/

В параметрах установки ставим галочку «Обновление существующей установки» и нажимаем «Далее». По идее, всё должно нормально обновиться. На практике иногда встречаются проблемы.

Ошибки при обновлении MODX

В самом начале обновления MODX может появится ошибка:

FATAL ERROR: MODX Setup cannot continue.
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 временную зону:

date.timezone="Europe/Moscow"

И действительно, при первичной инсталляции MODX Revolution после этого установка шла дальше, а вот при обновлении почему-то проблема не решилась. Причину я так и не нашел, возможно, требуется прописать timezone где-то ещё.

Самый простой вариант обойти эту ошибку — в начале файла установщика MODX (/setup/index.php) прописать код:

@ ini_set('date.timezone', 'Moscow/Europe');

После решения этой проблемы на следующем шаге обновления MODX Revolution я столкнулся с ещё одной ошибкой:

Ошибка обновления таблицы для класса modTemplateVar

Array (
[0] => 42S21
[1] => 1060
[2] => Duplicate column name 'input_properties' )

Решилась проблема так, из каталога «/core/packages/» удаляем папку core и пробуем ещё раз пройти этот пункт установки/обновления MODX. Мне помогло.

Данное решение так же помогает при следующей ошибке:

Не удалось установить MODX, поскольку MODX не смог распаковать пакет «/core/packages/core.transport.zip». Проверьте, что файл «/core/packages/core.transport.zip» существует, доступен для записи, и возможна запись в каталог «/core/packages/».

Возможно также возникновение ошибок, связанных с правами на каталоги, но на них я заострять внимание не буду, они быстро решаются установкой нужных прав (через терминал, 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 синтаксиса.

Теги:
Посмотрите похожее — 6
Комментарии — 7
  1. avatar Борис 05 января 2015, 00:01 #
    Спасибо, правило
    @ ini_set('date.timezone', 'Moscow/Europe');
    помогло.

    Подскажите пожалуйста на сколько рисково переходить с modx revo 2.2.15 (16) на 2.3, многие дополнения могут «полететь». Уж больно не хочется переделывать весь сайт заново.
    1. avatar Simkin Andrew 06 января 2015, 12:13 #
      Зависит от установленных дополнений, но в целом больших проблем не должно возникнуть, распространённые дополнения совместимы на все сто. На всякий случай конечно можно сделать резервную копию сайта. Я обновился в своё время без каких-либо проблем.
    2. avatar Юрий 25 июля 2016, 21:49 #
      Здравствуйте. При обновлении MODX Revo s 2.5.0 advanced на 2.5.1 advanced появилась ошибка
      Ошибка обновления таблицы для класса modUser
      Array
      (
      [0] => 42S21
      [1] => 1060
      [2] => Duplicate column name 'createdon'
      )
      Сталкивались ли вы с подобным? Как с этим бороться и нужно ли заострять на этом внимание?
      1. avatar Simkin Andrew 25 июля 2016, 22:12 #
        Не обновлялся еще до последней версии, но судя по ошибке ничего страшного, последствий никаких не будет. Установщик попытался добавить в таблицу поле, но так как оно уже есть появилась ошибка. У всех при обновлении такое наверно будет.
        1. avatar Юрий 25 июля 2016, 22:33 #
          Спасибо, успокоили ))
          1. avatar Юрий 05 августа 2016, 01:08 #
            Столкнулся с проблемой «После обновления MODX Revolution 2.5.1-pl не открываются ресурсы». Нашел решение тут https://modx.ru/vopros-otvet/info/3111/ — добавьте, пожалуйста в ваш обзор для полноты картины )
            1. avatar Simkin Andrew 06 августа 2016, 15:36 #
              ок, спасибо. Добавил.
        © REALADMIN.RU   2016 г.
        Страница сгенерирована: 0,2406 s | 10 mb.
        На каком уровне Вы играете в шахматы?
        О П Р О С
        Home Question Top