phpcms v9通訊失敗怎麼辦? Phpcms v9 與 Phpsso通訊失敗,會員不能註冊不能登陸怎麼辦?
有朋友這麼說:
伺服器其它配置正確,通訊始終失敗原因已經找到:
由於有防火牆的伺服器一般是連接埠映射,這樣就導致外網可以透過網域名稱正常存取網站,而內網則無法透過網域存取網站。而v9與phpsso通信接口地址是透過域名鏈接,從而始終導致通信失敗。這是v9的自身缺陷問題,開發者沒有充分考慮到這一點。
望官方儘早修復這個BUG.
也有朋友說:
#官方下載的安裝包內phpsso_server檔案裡,並沒有這個檔案。所以解決的方法就是從v9的phpcms/libs/classes/資料夾裡複製吧,然後還要在phpsso_server/caches/檔案下建一個sessions目錄,不然檔案無法寫入。
當然網路上也有方法是把session_mysql.class.php這個檔案裡的第21行語句session_start();放到它前一句的前面,這樣的話,也可以解決,但是v9不會採用資料庫儲存的方式,只會採用文件存儲,而且,session的存儲位置也不是按照system.php裡設定的位置存儲。會儲存到php.ini檔案裡設定的目錄下。
提供一個解決方法:
把phpcms\modules\member\classes\client.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教學,歡迎線上學習!
以上是phpcms v9通訊失敗怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!