2015-04-21 125 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。