В настоящее время я обновляю очень старый сайт с 5.4.x до 5.6.3.3. До сих пор я был в состоянии обновить до 5.5.2.1 локально без проблем.
Но обновление с 5.5.2.1 до 5.6.x вызывает много проблем. Я попытался обновить непосредственно до 5.6.3.3, который предлагает серверная часть, а также 5.6.0, 5.6.0.1 и 5.6.0.2, но безуспешно.
Проблема в том, что когда я нажимаю «Загрузить», Concrete5 загружает 5.6.3.2. Не рекламируется 5.6.3.3. После завершения загрузки ничего не происходит. Я не могу нажать кнопку обновления, я могу только нажать кнопку загрузки еще раз. Однако Concrete5 действительно загружает обновление 5.6.3.2.
Я попытался запустить скрипт обновления вручную. Сценарий ручного обновления возвращает это сообщение:
«Обновление бетона5
Ваш сайт уже обновлен! Вы должны удалить этот файл для
безопасность. Вернуться домой
Нажмите здесь, если вы хотите повторить это
script. Текущая версия Concrete5 — 5.5.2.1. «
Поэтому я нажимаю, и «? Force = 1» добавляется в URL. Это возвращает:
«Обновление до 5.5.2.1 завершено!»
Это с сайта .php. Если я удаляю это и запускаю, как это предлагает гиды (http://www.concrete5.org/documentation/how-tos/developers/manually-upgrade-concrete5/), Я получаю только пустые страницы и не могу запустить скрипт обновления вручную. Я попробовал оба метода, упомянутых в руководстве, безуспешно, и я также пробовал разные версии 5.6.
Следующим моим шагом было загрузить 5.6.3.3 вручную и поместить его в папку обновлений. Теперь страница обновления возвращает:
«Установить локальное обновление
Обязательно сделайте резервную копию базы данных перед обновлением. Несколько обновлений
доступны. Пожалуйста, выберите нужное обновление из списка ниже.ТЕКУЩАЯ ВЕРСИЯ
5.5.2.1
5.6.0.2
5.6.3.2
5.6.3.3″
Выбор любого из них возвращает пустую страницу, потому что скрипт заменяет файл site.php новым именем. Это похоже на изменение имени каталога до того, как скрипт обновит базу данных, и поэтому ничего не происходит. Процесс останавливается и все страницы остаются пустыми.
Вот где я застрял. Сейчас я понятия не имею, как запустить скрипт обновления. Любая помощь приветствуется!
Я использую локальный сервер (MAMP) с:
PHP: 5.5.18
MySQL: 5.5.38
Apache: 2.2.29
Кэширование: полностью отключено
Красивые URL-адреса: выключен
конкретная версия 5
5.5.2.1
конкретные5 пакетов
Миграция чувствительности к регистру базы данных (1.1.2), расширенная форма (2.4).
конкретные5 переопределения
blocks / autonav, blocks / catalogue_item, blocks / google_map, jobs / index_search.php.DONOTUSE, languages / da_DK, библиотеки / request.php, темы / compower-theme
Программное обеспечение на веб-сервере
Apache / 2.2.29 (Unix) mod_fastcgi / 2.4.6 mod_wsgi / 3.4 Python / 2.7.8 PHP / 5.5.18 mod_ssl / 2.2.29 OpenSSL / 0.9.8zd DAV / 2 mod_perl / 2.0.8 Perl / v5.20.0
API веб-серверов
apache2handler
Версия PHP
5.5.18
Модули PHP
apache2handler, bcmath, bz2, календарь, Core, ctype, curl, дата, dom, ereg, exif, fileinfo, фильтр, ftp, gd, gettext, хэш, iconv, imap, intl, json, ldap, libxml, mbstring, mcrypt, mysql, mysqli, openssl, pcre, PDO, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, отражение, сессия, SimpleXML, мыло, сокеты, SPL, sqlite3, стандартная, tokenizer, wddx, xml, xmlreader, xmler, xml Яз, Зип, Злиб.
Настройки PHP
Проблему в этом случае лучше выявить, изучив журнал ошибок PHP (ключом здесь стал белый экран после попытки обновления). Ошибка была
Неустранимая ошибка PHP: вызов неопределенного метода Request :: hasCustomRequestUser () в /bla/bla/bla/concrete/core/models/user.php в строке 177
И решением было удалить файл [root] /libraries/request.php и вручную запустить обновление снова с Http: //site/index.php/tools/required/upgrade/
Все решение может быть найдено Вот.
Перед любым обновлением вы должны сделать полное резервное копирование базы данных и файловой системы. Таким образом, когда обновление завершится неудачно, у вас не останется половина обновленной системы.
Я бы восстановил сайт из последней резервной копии и попытался бы обновить его до 5.6.0.2, прежде чем перейти к 5.6.3.1.