国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > CMS > PhpCMS > 正文

PHPCMS V9中QQ登錄網(wǎng)站失敗問(wèn)題解決方法

2024-07-09 22:54:11
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

QQ登錄是現(xiàn)在大多數(shù)網(wǎng)站集成的一個(gè)登錄方式了,但有時(shí)會(huì)碰到無(wú)法登錄這其中原因有很多,今天我碰到PHPCMS V9無(wú)法使用QQ登錄網(wǎng)站了,下面一起來(lái)看看PHPCMS V9不能QQ登錄網(wǎng)站解決辦法。

這個(gè)故障的原因是PHPCMS V9的QQ登錄功能代碼中,使用了file_get_contents函數(shù)來(lái)獲取騰訊的https網(wǎng)址,這類網(wǎng)址是通過(guò)ssl加密傳輸?shù)?。雖然,我們可以通過(guò)為PHP安裝openssl擴(kuò)展,讓file_get_contents函數(shù)可以獲取到內(nèi)容,但獲取到的內(nèi)容還是加密的,無(wú)法正常的解密。

我的解決思路是自己編寫一個(gè)通過(guò)curl讀取數(shù)據(jù)的方法,替換掉PHPCMS原有的方法,具體如下:

首先,找到phpcmsmodulesmemberclassesqqapi.class.php文件。

我們?cè)谶@個(gè)qqapi.class.php文件的末尾添加一個(gè)名為get_ssl_content的方法,代碼如下:

代碼如下 復(fù)制代碼

public function get_ssl_content($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$result = curl_exec($ch);
return $result;
}

添加好get_ssl_content方法后,我們?cè)僭趒qapi.class.php中搜索“file_get_contents($url)”,找到所以出現(xiàn)的位置,然后判斷對(duì)應(yīng)的$url地址開(kāi)頭如果是https,那么就把這個(gè)函數(shù)替換為我們上面自己編寫的get_ssl_content方法。代碼如下:

$content = $this->get_ssl_content($url);

至此,我們已經(jīng)完成了改寫工作,此時(shí)PHPCMS應(yīng)該可以正常通過(guò)QQ來(lái)登錄了

注意:file_get_contents 函數(shù)處理遠(yuǎn)程文件時(shí)不如curl性能好,特別是在多線程時(shí)file_get_contents是無(wú)法與curl比的哦。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 德江县| 临城县| 中阳县| 门源| 翁牛特旗| 亳州市| 锡林浩特市| 皋兰县| 遂平县| 霍林郭勒市| 凤庆县| 嵊州市| 玉树县| 麻阳| 彩票| 名山县| 屏东市| 左贡县| 江永县| 迁安市| 定结县| 长丰县| 安西县| 湖南省| 大厂| 尼勒克县| 诸城市| 吴川市| 社旗县| 元谋县| 昌江| 永善县| 山东省| 邵阳市| 苏尼特左旗| 馆陶县| 嘉义县| 阿克| 新丰县| 秭归县| 宣城市|