php 引入微信的js-sdk 报签名不合法的解决方案

1 首先 我下载了 http://demo.open.weixin.qq.com/jssdk/sample.zip的集成包. 发现在做demo的时候 把 该有的配置参数都传过去了 但总报签名不合法.
2 检查发现没有access_token竟然也能成签名 , 我也是醉了
3 在jssdk.php 中发现 httpGet 没起作用
4 重写curl 代码如下:

public function _requestGet($url, $ssl=true) {
        // curl完成
        $curl = curl_init();

        //设置curl选项
        curl_setopt($curl, CURLOPT_URL, $url);//URL
        $user_agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0 FirePHP/0.7.4';
        curl_setopt($curl, CURLOPT_USERAGENT, $user_agent);//user_agent,请求代理信息
        curl_setopt($curl, CURLOPT_AUTOREFERER, true);//referer头,请求来源
        //SSL相关
        if ($ssl) {
            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);//禁用后cURL将终止从服务端进行验证
            curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);//检查服务器SSL证书中是否存在一个公用名(common name)。
        }
        curl_setopt($curl, CURLOPT_HEADER, false);//是否处理响应头
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);//curl_exec()是否返回响应结果

        // 发出请求
        $response = curl_exec($curl);
        if (false === $response) {
            echo '<br>', curl_error($curl), '<br>';
            return false;
        }
        return $response;
    }

5 把2处的httpGet 换成 _requestGet
6 成功 config:ok!


版权声明:本文为u010957293原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。