2015-04-21 2 views
3

В настоящее время я обновляю очень старый веб-сайт с 5.4.x до 5.6.3.3. До сих пор я мог без проблем обновлять до 5.5.2.1.Проблемы с обновлением Concrete5 от 5.5.2.1 до 5.6.x

Но обновление с 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.

Я попытался запустить сценарий обновления вручную. Сценарий ручного обновления возвращает это сообщение:

"Upgrade concrete5

Your site is already up to date! You should remove this file for security. Back to Home Click here if you would like to re-run this script.The current version of Concrete5 is 5.5.2.1."

Таким образом, я нажимаю и «? Force = 1» добавляется к URL-адресу. Это возвращает:

"Upgrade to 5.5.2.1 complete!"

Это с на сайте.php. Если я удалю это и запустил его, как это предлагает подсказки (http://www.concrete5.org/documentation/how-tos/developers/manually-upgrade-concrete5/), я получаю только пустые страницы и не могу запускать сценарий обновления вручную. Я пробовал оба метода, упомянутых в руководстве, без везения, и я также пробовал разные версии 5.6.

Итак, следующим шагом было загрузить 5.6.3.3 вручную и поместить его в папку обновлений. Теперь страница обновления возвращает:

"Install Local Update

Make sure you backup your database before updating. Several updates are available. Please choose the desired update from the list below.

CURRENT VERSION

5.5.2.1

5.6.0.2

5.6.3.2

5.6.3.3"

Выбора любого из этих возвращает пустую страницу, потому что сценарий изменяет файл site.php с новым именем папки. Это похоже на изменение имени dirname, прежде чем скрипт обновит базу данных, и поэтому ничего не происходит. Процесс останавливается, и все страницы пусты.

Теперь вот где я застрял. Прямо сейчас я понятия не имею, как запустить скрипт обновления. Любая помощь приветствуется!

Техническая информация:

Я использую локальный сервер (MAMP) с: PHP: 5.5.18 MySQL: 5.5.38 Apache: 2.2.29 Caching: Полностью выключен Довольно URL-адреса : выключено информация

Окружающая среда:

concrete5 Версия 5.5.2.1

concrete5 Пакеты Изменение чувствительности к регистру базы данных (1.1.2), расширенная форма (2.4).

concrete5 Перезаписывает блоки/autonav, блоки/catalogue_item, блоки/google_map, Работа/index_search.php.DONOTUSE, языки/da_DK, библиотеки/request.php, темы/compower-тема

Программное обеспечение на веб-сервере 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

WebServers API apache2handler

PHP версия 5.5.18

PHP модули apache2handler, BCMath, BZ2, календарь, ядро, CTYPE, локон, дата, дом, ereg, exif, fileinfo, filter, ftp, gd, gettext, hash, iconv, imap, intl, json, ldap, libxml, mbstring, mcrypt, mysql, mysqli, openssl, pcre, PDO, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, Reflection, session, Simpl eXML, soap, сокеты, SPL, sqlite3, стандартный, токенизатор, wddx, xml, xmlreader, xmlwriter, xsl, yaz, zip, zlib.

настройки PHP

  • log_errors_max_len - 1024
  • max_execution_time - 5
  • max_file_uploads - 20
  • max_input_nesting_level - 64
  • max_input_time - 60
  • max_input_vars - 1000
  • memory_limit - 128M
  • post_max_size - 128M
  • sql.safe_mode - Off
  • upload_max_filesize - 128M
  • ldap.max_links - Неограниченные
  • mysql.max_links - Неограниченные
  • mysql.max_persistent - Неограниченное
  • mysqli.max_links - Неограниченный
  • mysqli.max_persistent - Неограниченный
  • pcre.backtrack_limit - 1000000
  • pcre.recursion_limit - 100000
  • pgsql.max_links - Неограниченные
  • pgsql.max_persistent - Неограниченное
  • session.cache_limiter - NoCache
  • session.gc_maxlifetime - 7200
  • мыло .wsdl_cache_limit - 5

ответ

3

Проблема в этом случае была лучше идентифицирована путем изучения журнала ошибок PHP (подсказка здесь была белым экраном после попытки обновления). Ошибка была

PHP Fatal error: Call to undefined method Request::hasCustomRequestUser() in /bla/bla/bla/concrete/core/models/user.php on line 177

И решение было удалить [root]/libraries/request.PHP-файл и вручную запустить обновление снова с http://site/index.php/tools/required/upgrade/


Весь раствор можно найти here.

1

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

Я бы восстановил сайт с последней резервной копии и попытался перейти на 5.6.0.2, прежде чем перейти к 5.6.3.1.