当前位置:首页 > CMS教程 > phpcms > 列表

PHPCMS V9无法正常通过QQ登录问题解决办法

发布:smiling 来源: PHP粉丝网  添加日期:2015-04-04 09:56:16 浏览: 评论:0 

现在很多网站都可以集成了QQ登录了,但小编在使用PHPCMS V9时发现无法正常通过QQ登录网站了,那么碰到此问题要如何解决呢?下面我们一起来看看PHPCMS V9无法正常通过QQ登录问题解决办法吧.

这个故障的原因是PHPCMS V9的QQ登录功能代码中,使用了file_get_contents函数来获取腾讯的https网址,这类网址是通过ssl加密传输的,虽然,我们可以通过为PHP安装openssl扩展,让file_get_contents函数可以获取到内容,但获取到的内容还是加密的,无法正常的解密.

我的解决思路是自己编写一个通过curl读取数据的方法,替换掉PHPCMS原有的方法,具体如下.

首先,找到\phpcms\modules\member\classes\qqapi.class.php文件,我们在这个qqapi.class.php文件的末尾添加一个名为get_ssl_content的方法,代码如下:

  1. public function get_ssl_content($url
  2.     $ch = curl_init(); 
  3.     curl_setopt($ch, CURLOPT_URL, $url); 
  4.     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
  5.     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); 
  6.     $result = curl_exec($ch); //开源软件:phpfensi.com 
  7.     return $result

添加好get_ssl_content方法后,我们再在qqapi.class.php中搜索“file_get_contents($url)”,找到所以出现的位置,然后判断对应的$url地址开头如果是https,那么就把这个函数替换为我们上面自己编写的get_ssl_content方法,代码如下:

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

至此,我们已经完成了改写工作,此时PHPCMS应该可以正常通过QQ来登录了.

Tags: PHPCMS无法登录 PHPCMS QQ登录

分享到: