网站使用QQ登录问题小结
关于网站如何使用QQ登陆这个问题就不多说了,很简单,登陆connect.qq.com找到相应的SDK,下载下来,里面会有demo,将相应的appid,appkey和回调地址callback改成自己的就行了。本篇文章主要分享一下在这个过程可能出现的问题并总结一下解决问题的办法。
(1)使用已有的demo的时候可能会碰到程序出错并提示:Notice: file_get_contents() [function.file-get-contents]: Unable to find the wrapper "https" - did you forget to enable it when you configured PHP? ......
对于这个问题主要是因为file_get_contents默认不支持访问https请求,如果要支持需配置php.ini文件,激活 php_openssl.dll模块,关于开启这个大家可以搜索一下相关配置方法即可,这里不主张使用这种方法,因为很多的网站的空间是虚拟主机的形式,是没有办法修改服务器php.ini文件的,因此这里主要说下下面的这个办法:
新加一个函数,一般加到comm目录下的Utils.php这个文件里面,函数代码如下:
function get_url_content(){ $ch=curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false); curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); $result=curl_exec($ch); return $result; }
然后将代码中的所有的file_get_contents替换为get_url_content即可。
(2)程序报错并提示:Warning: session_start() [function.session-start]: open(/tmp\sess_s9b1ahi6vnvc0pfl2e0dcd0l10, O_RDWR) ......
这个主要是腾讯自作聪明自行设置session的保存路径而导致的错误,解决办法是打开session.php文件,找到session_save_path相应的代码语句,将其注释即可。