phpcms v9登錄失敗怎么辦

phpcms v9登錄失敗怎么辦

phpcms v9登錄失敗?phpcmsv9全站 https ssl后會員登錄失敗解決方法

phpcms v9登錄失敗怎么辦

?

立即學習PHP免費學習筆記(深入)”;

很多朋友在使用phpcmsv9的時候遇到了這樣一個問題,在將全站https化后,會員中心無法正常登錄,具體是沒有返回值,提示登錄失敗,主要是原來是系統在初始化phpsso時,無法將數據通過443傳輸到對應的方法,通過排查問題,可以看到在client.class.php中,系統默認使用的端口是80,所以我們只需要按以下方法修改就可以解決在https后會員無法登錄的問題:

?

立即學習PHP免費學習筆記(深入)”;

phpcms v9登錄失敗怎么辦

?

立即學習PHP免費學習筆記(深入)”;

?

立即學習PHP免費學習筆記(深入)”;

phpcms/modules/member/classes/client.class.php?

?

立即學習PHP免費學習筆記(深入)”;

中361行修改如下:

$port?=?!empty($matches['port'])???$matches['port']?:?(?strtolower($matches['scheme'])=='https'???443?:?80?);

?

立即學習PHP免費學習筆記(深入)”;

第386行將:

$fp?=?@fsockopen(($ip???$ip?:?$host),?$port,?$errno,?$errstr,?$timeout);

?

立即學習PHP免費學習筆記(深入)”;

替換為

?

立即學習PHP免費學習筆記(深入)”;

$contextOptions?=?array( ????'ssl'?=>?array( ????????'verify_peer'?=>?false, ????????'verify_peer_name'?=>?false ????) ); ? //如果有簽名的證書 //$contextOptions?=?array( //????'ssl'?=>?array( //????????'verify_peer'?=>?true,? //????????'cafile'?=>?'/path/to/cacert.pem', //????????//'CN_match'?=>?'indexroot.net',?//?匹配域名 //????????'ciphers'?=>?'HIGH:!SSLv2:!SSLv3', //????????'disable_compression'?=>?true, //????) //); ? $context?=?stream_context_create($contextOptions); $fp?=?stream_socket_client("ssl://{$host}:{$port}",?$errno,?$errstr,?$timeout,?STREAM_CLIENT_CONNECT,?$context);

PHP中文網,大量的免費PHPCMS教程,歡迎在線學習!

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享