phpcms v9重名無法通過怎么辦?
場景:phpcms v9 中 PHPSSO無法通訊解決辦法(PHPSSO無法通訊間接影響phpcms v9注冊會員無法通過“重名無法通過”)
一般情況下,大多數(shù)人都是這樣做的:
本地做一個虛擬環(huán)境,用localhost或127.0.0.1安裝V9系統(tǒng),在本地通訊沒有任何問題,于是做一個本地的數(shù)據(jù)備份,當時遠端安裝的時候有會通過域名來安裝,然后就將本地數(shù)據(jù)直接恢復(fù)到遠端的服務(wù)器上,這種情況就常常發(fā)生SSO與V9系統(tǒng)無法通訊
由于備份中的數(shù)據(jù)鏈接保存的是網(wǎng)址是localhost或127.0.0.1或本機192.168.xxx.xxx,與域名不一致,比如SSO對應(yīng)的是www.lanrensc.com,而恢復(fù)數(shù)據(jù)后的V9系統(tǒng)對應(yīng)的是localhost或127.0.0.1,兩者不一致當然就無法通訊,這是最常見的原因之一,一般根據(jù)官方提供的方法就能解決。
立即學(xué)習“PHP免費學(xué)習筆記(深入)”;
當然,如果你發(fā)現(xiàn)官方提供的方法也無法解決,估計就是你用本地V9根據(jù)目錄下的所有源碼直接覆蓋遠端的,包括由于安裝產(chǎn)生的V9Cache和SSO的Cache,要知道本機和服務(wù)器上cache中記錄的數(shù)據(jù)庫信息是不一樣的,特別是權(quán)限限制嚴格的linux系統(tǒng),所以就算按官方提供的方法通常也還是無法通訊
原因二:本機的V9 Cache和SSO的Cache覆蓋了服務(wù)器的對應(yīng)文件,這是導(dǎo)致無法通訊的第二常見的原因,可以嘗試修改cache中的幾個文件:cachesconfigs和phpsso_servercachesconfigs目錄下的system.php和database.php,具體修改的方法就不贅述,可以查看caches中的配置文件datebase.php是否是自己的需要的數(shù)據(jù)。
除了以上兩個原因有兩種可能:
第一,如果是linux服務(wù)器,網(wǎng)站目錄的權(quán)限設(shè)置不對,可能導(dǎo)致無法通訊
第二,戴www和沒帶www的兩個域名同時指向一個服務(wù)器,安裝V9時,如果是沒帶的頂級域名來安裝,而本機卻用www.lanrensc.com,這種情況也會通訊失敗
特別是第二原因,很多人可能忽略了!有沒有帶WWW,sso認為是兩個不同的應(yīng)用,不同的應(yīng)用當然就是無法通訊了。。。
避免V9和SSO產(chǎn)生無法通訊問題,建議這樣做:
1,如果你本機數(shù)據(jù)不用恢復(fù)到服務(wù)器,就直接上傳模板文件即可,不要覆蓋遠端的cache文件夾
2,如果本機有數(shù)據(jù)要恢復(fù)到服務(wù)器的,保存本機數(shù)據(jù)時記住不要保存含有v9_admin、v9_member和v9_sso這三個前綴的表,遠端安裝V9的時候采用全新安裝,安裝完成后只上傳cachesbakupdefault文件夾中的sql備份和模板包
3,記住,很多時候,帶有www和沒帶有www,SSO認為是兩個不同的應(yīng)用,即便兩者指向同一個服務(wù)器。如果你主力使用www,記住請用它來安裝V9。
4,Linux服務(wù)器,請注意安裝V9目錄的權(quán)限,F(xiàn)TP上傳請用二進制上傳,如果服務(wù)器是獨立主機,你有root權(quán)限也不建議用root權(quán)限的賬戶上傳,而是用建立站點時的關(guān)聯(lián)賬戶上傳V9程序。
重新提供一個解決SSO通訊問題的方法就是:
建一個不包含v9_admin、v9_member和v9_sso這三個前綴的表的數(shù)據(jù)備份(本機或服務(wù)器上都無所謂),然后在服務(wù)器上安裝一個全新的V9(用最新V9中的install、cache和phpssoserver目錄覆蓋服務(wù)器上的同名文件夾,并刪除cache中install.lock文件即可),保證這個新裝的V9通訊是成功的,這樣就恢復(fù)之前的備份就可以了。
PHP中文網(wǎng),大量的免費PHPCMS教程,歡迎在線學(xué)習!