将Concrete5从5.5.2.1升级到5.6.x的问题

时间:2015-04-21 10:32:04

标签: php concrete5 concrete

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

我已尝试手动运行升级脚本。手动升级脚本返回以下消息:

  

"升级concrete5

     

您的网站已经是最新的!你应该删除此文件   安全。回到家   如果您想重新运行,请单击此处   Script5的当前版本是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"

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

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

技术信息:

我使用本地服务器(MAMP): PHP:5.5.18 MySQL:5.5.38 Apache:2.2.29 缓存:完全关闭 漂亮的网址:关闭

环境信息:

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 < / p>

Webservers 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,Reflection,session,SimpleXML,soap,socket,SPL,sqlite3,standard,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
  • 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 - 1000000
  • pcre.recursion_limit - 100000
  • pgsql.max_links - 无限制
  • pgsql.max_persistent - 无限制
  • session.cache_limiter - nocache
  • session.gc_maxlifetime - 7200
  • soap.wsdl_cache_limit - 5

2 个答案:

答案 0 :(得分: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/再次手动启动升级

可以找到整个解决方案here

答案 1 :(得分:1)

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

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