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

Ошибки при обновлении Modx Revolution
Комментарии: 9

Обновить 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 синтаксиса.

Темы:
MODXОшибка
Ещё интересное — 6
Комментарии —
  1. Борис
    Борис05 января 2015, 00:01#
    Спасибо, правило
    @ ini_set('date.timezone', 'Moscow/Europe');
    помогло.

    Подскажите пожалуйста на сколько рисково переходить с modx revo 2.2.15 (16) на 2.3, многие дополнения могут «полететь». Уж больно не хочется переделывать весь сайт заново.
    1. Andy Si06 января 2015, 12:13#
      Зависит от установленных дополнений, но в целом больших проблем не должно возникнуть, распространённые дополнения совместимы на все сто. На всякий случай конечно можно сделать резервную копию сайта. Я обновился в своё время без каких-либо проблем.
    2. Юрий
      Юрий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. Andy Si25 июля 2016, 22:12#
        Не обновлялся еще до последней версии, но судя по ошибке ничего страшного, последствий никаких не будет. Установщик попытался добавить в таблицу поле, но так как оно уже есть появилась ошибка. У всех при обновлении такое наверно будет.
        1. Юрий
          Юрий25 июля 2016, 22:33#
          Спасибо, успокоили ))
          1. Юрий
            Юрий05 августа 2016, 01:08#
            Столкнулся с проблемой «После обновления MODX Revolution 2.5.1-pl не открываются ресурсы». Нашел решение тут https://modx.ru/vopros-otvet/info/3111/ — добавьте, пожалуйста в ваш обзор для полноты картины )
            1. Andy Si06 августа 2016, 15:36#
              ок, спасибо. Добавил.
        2. Andy
          Andy19 августа 2019, 15:30(был изменён)#
          всем привет, расскажу о своих 48 часах мучений при переезде с evo 5k страниц.
          сработало именно таким способом — шаг влево шаг вправо — 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/
          1. Andy Si19 августа 2019, 16:07#
            неплохо)
          © REALADMIN.RU   2024 г.
          Страница сгенерирована: 0,1851 s | 4 mb.
          На каком уровне Вы играете в шахматы?
          OPROS