2015-04-21 78 views
3

我目前正在将一个非常旧的网站从5.4.x更新为5.6.3.3。到目前为止,我已经能够在本地升级到5.5.2.1而没有任何问题。将混凝土5从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."

所以我点击,并添加到URL“力= 1?”。这返回:

"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并将其放入更新文件夹中。现在更新页面返回:

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

选择其中的任何一个都会返回空白页面,因为脚本会使用新的dirname更改site.php文件。这就像在脚本更新数据库之前发生dirname更改一样,因此没有任何反应。该过程停止并且所有页面都是空白的。

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

技术信息:

我使用一个本地服务器(毫安)有: PHP:5.5.18 MySQL的:38年5月5日 阿帕奇:2.2.29 缓存:完全关闭 漂亮的URL :熄灭

环境信息:

concrete5版本 5.5.2.1

concrete5 Packages 数据库大小写敏感性迁移(1.1.2)扩展表单(2.4)。

concrete5重写 块/ autonav,块/ catalogue_item,块/ google_map,工作/ index_search.php.DONOTUSE,语言/ da_DK,图书馆/ request.php,主题/联宝主题

软件在网络服务器上 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,日历,核心,CTYPE,卷曲,日期,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,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 - 关
  • 的upload_max_filesize - 128M
  • ldap.max_links - 无限
  • mysql.max_links - 无限
  • mysql.max_persistent - 无限
  • mysqli.max_links - 无限制
  • mysqli.max_persistent - 无限制
  • pcre.backtrack_limit - 百万
  • pcre.recursion_limit - 100000
  • pgsql.max_links - 无限
  • pgsql.max_persistent - 无限
  • session.cache_limiter - 非缓存
  • 的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

在任何升级之前,您应该采取完整的数据库和文件系统备份,这样当一个up等级失败,你没有剩下一半升级系统。

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