编程语言
首页 > 编程语言> > php-将Concrete5从5.5.2.1升级到5.6.x的问题

php-将Concrete5从5.5.2.1升级到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.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!”

这就是在site.php中.如果删除该文件并按照本指南的建议(http://www.concrete5.org/documentation/how-tos/developers/manually-upgrade-concrete5/)运行它,则只会出现空白页面,并且无法手动运行升级脚本.我尝试了指南中提到的两种方法都没有碰到运气,并且还尝试了5.6的不同版本.

因此,我的下一步是手动下载5.6.3.3,并将其放置在updates文件夹中.现在更新页面返回:

“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文件.就像在脚本更新数据库之前更改目录名一样,因此什么也没有发生.该过程停止,所有页面均为空白.

现在,这就是我遇到的问题.现在,我不知道如何启动更新脚本.任何帮助表示赞赏!

技术信息:

我正在使用具有以下内容的本地服务器(MAMP):
的PHP:5.5.18
的MySQL:5.5.38
阿帕奇:2.2.29
缓存:完全关闭
漂亮的网址:已关闭

环境信息:

concrete5版本
5.5.2.1

混凝土5包装
数据库区分大小写迁移(1.1.2),扩展形式(2.4).

concrete5替代
块/ autonav,块/ catalogue_item,块/google_map、jobs/index_search.php.DONOTUSE,语言/da_DK、libraries/request.php,主题/ 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,日历,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,标准,令牌生成器,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

解决方法:

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

标签:concrete,concrete5,php
来源: https://codeday.me/bug/20191028/1952420.html