phpcms v9 中 PHPSSO無法通訊解決方法(PHPSSO無法通訊間接影響phpcms v9註冊會員無法通過“重名無法通過”)

一般情況下,大多數人都是這樣做的:

本地做一個虛擬環境,用localhost或127.0.0.1安裝V9系統,在本地通訊沒有任何問題,於是做一個本地的數據備份,當時遠端安裝的時候有會通過域名來安裝,然後就將本地數據直接恢復到遠端的服務器上,這種情況就常常發生SSO與V9系統無法通訊

由於備份中的數據鏈接保存的是網址是localhost或127.0.0.1或本機192.168.xxx.xxx,與域名不一致,比如SSO對應的是www.lanrensc.com,而恢復數據後的V9系統對應的是localhost或127.0.0.1,兩者不一致當然就無法通訊,這是最常見的原因之一,一般根據官方提供的方法就能解決。

當然,如果你發現官方提供的方法也無法解決,估計就是你用本地V9根據目錄下的所有源碼直接覆蓋遠端的,包括由於安裝產生的V9Cache和SSO的Cache,要知道本機和服務器上cache中記錄的數據庫信息是不一樣的,特別是權限限制嚴格的Linux系統,所以就算按官方提供的方法通常也還是無法通訊

原因二:本機的V9 Cache和SSO的Cache覆蓋了服務器的對應文件,這是導致無法通訊的第二常見的原因,可以嘗試修改cache中的幾個文件:\caches\configs\和\phpsso_server\caches\configs目錄下的system.php和database.php,具體修改的方法就不贅述,可以查看caches中的配置文件datebase.php是否是自己的需要的數據。

除了以上兩個原因有兩種可能:
第一,如果是linux服務器,網站目錄的權限設置不對,可能導致無法通訊
第二,戴www和沒帶www的兩個域名同時指向一個服務器,安裝V9時,如果是沒帶的頂級域名來安裝,而本機卻用www.lanrensc.com,這種情況也會通訊失敗

特別是第二原因,很多人可能忽略了!有沒有帶WWW,sso認爲是兩個不同的應用,不同的應用當然就是無法通訊了。。。

避免V9和SSO產生無法通訊問題,建議這樣做:
1,如果你本機數據不用恢復到服務器,就直接上傳模板文件即可,不要覆蓋遠端的cache文件夾
2,如果本機有數據要恢復到服務器的,保存本機數據時記住不要保存含有v9_admin、v9_member和v9_sso這三個前綴的表,遠端安裝V9的時候採用全新安裝,安裝完成後只上傳\caches\bakup\default\文件夾中的SQL備份和模板包
3,記住,很多時候,帶有www和沒帶有www,SSO認爲是兩個不同的應用,即便兩者指向同一個服務器。如果你主力使用www,記住請用它來安裝V9。
4,Linux服務器,請注意安裝V9目錄的權限,FTP上傳請用二進制上傳,如果服務器是獨立主機,你有root權限也不建議用root權限的賬戶上傳,而是用建立站點時的關聯賬戶上傳V9程序。

重新提供一個解決SSO通訊問題的方法就是:
建一個不包含v9_admin、v9_member和v9_sso這三個前綴的表的數據備份(本機或服務器上都無所謂),然後在服務器上安裝一個全新的V9(用最新V9中的install、cache和phpssoserver目錄覆蓋服務器上的同名文件夾,並刪除cache中install.lock文件即可),保證這個新裝的V9通訊是成功的,這樣就恢復之前的備份就可以了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章