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!