phpcms v9通信失敗怎么辦?phpcms v9 與 phpsso通信失敗,會員不能注冊不能登陸怎么辦?
有朋友這么說:
服務器其它配置正確,通信始終失敗原因已經找到:
由于有防火墻的服務器一般是端口映射,這樣就導致外網可以通過域名正常訪問網站,而內網則無法通過域名訪問網站。而v9與phpsso通信接口地址是通過域名鏈接,從而始終導致通信失敗。這是v9的自身缺陷問題,開發者沒有充分考慮到這一點。
望官方盡早修復這個BUG.
立即學習“PHP免費學習筆記(深入)”;
也有朋友說:
官方下載的安裝包內phpsso_server文件里,并沒有這個文件。所以解決的方法就是從v9的phpcms/libs/classes/文件夾里復制吧,然后還要在phpsso_server/caches/文件下建一個sessions目錄,不然文件無法寫入。
當然網上也有方法是把session_mysql.class.php這個文件里的第21行語句session_start();放到它前一句的前面,這樣的話,也可以解決,但是v9不會采用數據庫存儲的方式,只會采用文件存儲,而且,session的存儲位置也不是按照system.php里設置的位置存儲。會存到php.ini文件里設置的目錄下。
提供一個解決方法:
把phpcmsmodulesmemberclassesclient.class.php 361行
$fp?=?@fsockopen(($ip???$ip?:?$host),?$port,?$errno,?$errstr,?$timeout);
改成
$fp?=?stream_socket_client("tcp://".($ip???$ip?:?$host).":".$port,?$errno,?$errstr,?$timeout);
經過測試,可以登陸成功。
這個問題不少朋友碰到,不過在Linux阿帕奇下,這個問題比較少。
PHP中文網,大量的免費PHPCMS教程,歡迎在線學習!
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦