3

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

您的网站已经是最新的了!为了安全起见,您应该删除此文件。返回首页如果您想重新运行此脚本,请单击此处。Concrete5 的当前版本是 5.5.2.1。"

因此,我单击并将“?force = 1”添加到 URL 中。这将返回:

“升级到5.5.2.1完成!”

那是在site.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 文件。这就像 dirname 更改发生在脚本更新数据库之前,因此没有任何反应。该过程停止,所有页面都为空白。

现在这就是我卡住的地方。现在我不知道如何启动更新脚本。任何帮助表示赞赏!

技术信息:

我正在使用本地服务器(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、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 apache2handler

PHP 版本 5.5.18

PHP 模块 apache2handler, bcmath, bz2, calendar, Core, ctype, curl, date, dom, 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,反射,会话,SimpleXML,soap,套接字,SPL,sqlite3,标准,tokenizer,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
  • 最大输入时间 - 60
  • 最大输入变量 - 1000
  • memory_limit - 128M
  • post_max_size - 128M
  • sql.safe_mode - 关闭
  • 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
  • soap.wsdl_cache_limit - 5
4

2 回答 2

3

通过检查 PHP 错误日志(这里的线索是尝试升级后的白屏)可以更好地识别这种情况下的问题。错误是

PHP 致命错误:在第 177 行的 /bla/bla/bla/concrete/core/models/user.php 中调用未定义的方法 Request::hasCustomRequestUser()

解决方案是删除 [root]/libraries/request.php 文件并使用http://site/index.php/tools/required/upgrade/再次手动启动升级


完整的解决方案可以在这里找到。

于 2015-04-22T13:10:01.103 回答
1

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

我会从最新的备份中恢复站点,并在升级到 5.6.3.1 之前尝试升级到 5.6.0.2。

于 2015-04-21T16:27:46.857 回答