将 Concrete5 从 5.5.2.1 升级到 5 的问题。6.x

Issues upgrading Concrete5 from 5.5.2.1 to 5.6.x

我目前正在将一个非常旧的网站从 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 更新。

我已经尝试 运行手动升级脚本。手动升级脚本 returns 此消息:

"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。这个returns:

"Upgrade to 5.5.2.1 complete!"

在 site.php 中。如果我删除它并且 运行 它像本指南建议的那样 (http://www.concrete5.org/documentation/how-tos/developers/manually-upgrade-concrete5/),我只会得到空白页并且不能 运行 手动升级脚本。指南中提到的两种方法我都试过了,没有成功,我也试过5.6的不同版本。

所以我的下一步是手动下载 5.6.3.3 并将其放在更新文件夹中。现在更新页面returns:

"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"

选择其中任何一个 returns 一个空白页,因为脚本使用新的目录名更改了 site.php 文件。这就像目录名更改发生在脚本更新数据库之前,因此什么也没有发生。进程停止,所有页面为空白。

现在这就是我被困的地方。现在我不知道如何启动更新脚本。感谢您的帮助!

技术资料:

我正在使用本地服务器 (MAMP): PHP:5.5.18 MySQL:5.5.38 阿帕奇:2.2.29 缓存:完全关闭 漂亮 URLs:已关闭

环境信息:

concrete5 版本 5.5.2.1

concrete5 包 数据库区分大小写迁移 (1.1.2),扩展形式 (2.4)。

concrete5 覆盖 blocks/autonav, blocks/catalogue_item, blocks/google_map, jobs/index_search.php.DONOTUSE, languages/da_DK, libraries/request.php, themes/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 apache2处理程序

PHP版本 5.5.18

PHP 模块 apache2handler、bcmath、bz2、日历、Core、ctype、curl、日期、dom、ereg、exif、fileinfo、过滤器、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、反射、会话、SimpleXML、soap、套接字、SPL、sqlite3、标准、tokenizer、wddx、xml、xmlreader、xmlwriter, xsl, yaz, zip, zlib.

PHP 设置

在进行任何升级之前,您应该进行完整的数据库和文件系统备份,这样当升级失败时您不会只剩下升级了一半的系统。

我会从最新的备份恢复网站,并尝试升级到 5.6.0.2,然后再升级到 5.6.3.1。

通过检查 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