我目前正在将一个非常旧的网站从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
您的网站已经是最新的!您应该为删除此文件安全返回主页如果您想重新运行此,请单击此处剧本Concrete5的当前版本是5.5.2.1;
所以我点击并"?力=1";被添加到URL。返回:
"升级至5.5.2.1版本完成">
这是网站中的。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文件。这就像是在脚本更新数据库之前更改了目录名,因此什么也没发生。该过程停止,所有页面均为空白。
现在这就是我被卡住的地方。现在我不知道如何启动更新脚本。感谢您的帮助!
技术信息:
我使用的本地服务器(MAMP)具有:PHP:5.5.18MySQL:5.5.38阿帕奇:2.2.29缓存:完全关闭漂亮的URL:关闭
环境信息:
混凝土5版本5.5.2.1
concrete5包数据库用例敏感性迁移(1.1.2),扩展表单(2.4)。
concrete5覆盖blocks/autonav、blocks/cacataloge_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
Web服务器APIapache2处理器
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、sockets、SPL、sqlite3、standard、tokenizer、wddx、xml,xmlreader、xmlwriter、xsl、yaz、zip、zlib。
PHP设置
- log_errors_max_len-1024
- 最大执行时间-5
- 最大文件加载-20
- 最大输入测试级别-64
- 最大输入时间-60
- 最大输入值-1000
- 内存限制-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.recuration_limit-100000
- pgsql.max_links-无限制
- pgsql.max_persistent-无限制
- session.cache_limiter-nocache
- 会话.gc_maxlifetime-7200
- soap.wsdl_cache_limit-5
通过检查PHP错误日志(这里的线索是尝试升级后的白色屏幕),可以更好地识别本例中的问题。错误是
PHP致命错误:调用未定义的方法Request::hasCustomRequestUser(),位于第177行
解决方案是删除[root]/libraries/request.php文件,然后使用http://site/index.php/tools/required/upgrade/
整个解决方案可以在此处找到。
在进行任何升级之前,您都应该进行完整的数据库和文件系统备份,这样,当升级失败时,您就不会留下半升级的系统。
我会从最新的备份中恢复网站,并尝试升级到5.6.0.2,然后再升级到5.6.3.1。