莫名奇妙的errmsg config invalid signature

kfsjp 2015-04-28 01:56:05
我有一个程序在windows服务器上可以正常自定义分享,但是到了linux服务器上却不能自定义分享,打开debug模式,弹出如题那样的错误,哪位大神能帮我看看

<?php
namespace Home\Controller;
use Think\Controller;
class ViewController extends Controller {
public function index(){




$confinfo = $this->get_js_sdk("wxba12345678987654","53f0123456789876754323456eccf54f");
$this->assign("confinfo",$confinfo);
$_scene = M('scene');
$where['scenecode_varchar'] = I('get.id',0);

$where['delete_int'] = 0;
$_scene_list=$_scene->where($where)->select();
// print_r($_scene_list); exit('dddd');


if(C('IS_USER_ANLI_SHENGHE') && !isset($_GET['preview'])){
if($_scene_list[0]["shenhe"]!=1){
$this->error('抱歉,您的场景还没通过管理员审核','/#/main');
}
}

$argu2 = array();
$argu2['title'] = $_scene_list[0]["scenename_varchar"];
$argu2['url'] = C('IS_OPEN_STATIC')? 'v-'.$_scene_list[0]["scenecode_varchar"] : 'index.php?c=view&id='.$_scene_list[0]["scenecode_varchar"];
$argu2['desc'] = $_scene_list[0]["desc_varchar"];
$argu2['imgsrc'] = $_scene_list[0]["thumbnail_varchar"];
$this->assign("confinfo2",$argu2);
$this->display('index2_9');//
}


public function test(){
$confinfo = $this->get_js_sdk("wxba12345678987654","53f0123456789876754323456eccf54f");
//$confinfo = $this->get_js_sdk("wxba12345678987654","53f0123456789876754323456eccf54f");
print_r($confinfo);
$this->assign("confinfo",$confinfo);
exit;
$this->display();
}


/**
* php curl 请求链接
* 当$post_data为空时使用GET方式发送
* @param unknown $url
* @param string $post_data
* @return mixed
*/
function curlSend($url,$post_data=""){
//\Think\Log::write($url."\n".var_export($post_data,true)); //hcc
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
if($post_data != ""){
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$post_data);
}
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = curl_exec($ch);
curl_close($ch);
return $result;
}


/**
* 调用接口获取 $ACCESS_TOKEN
* 微信缓存 7200 秒,这里使用thinkphp的缓存方法
* @param unknown $APP_ID
* @param unknown $APP_SECRET
* @return Ambigous <mixed, Thinkmixed, object>
*/
function get_accesstoken($APP_ID,$APP_SECRET){
$ACCESS_TOKEN = S($APP_ID);
//if($ACCESS_TOKEN == false){
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$APP_ID."&secret=".$APP_SECRET;
$json = $this->curlSend($url);

$data=json_decode($json,true);

S($APP_ID,$data[access_token],7000);
$ACCESS_TOKEN = S($APP_ID);
//}

return $ACCESS_TOKEN;
}

/**
* 微信网页JSSDK 调用接口获取 $jsapi_ticket
* 微信缓存 7200 秒,这里使用thinkphp的缓存方法
* @param unknown $ACCESS_TOKEN
* @return Ambigous <mixed, Thinkmixed, object>
*/
function get_jsapi_ticket($ACCESS_TOKEN){
$jsapi_ticket = S($ACCESS_TOKEN);
//var_dump(S($ACCESS_TOKEN));exit;
//if($jsapi_ticket == false){
$url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=".$ACCESS_TOKEN."&type=jsapi";
$json = $this->curlSend($url);
$data = json_decode($json,true);

$aaa = S($ACCESS_TOKEN,$data[ticket],7000);
$jsapi_ticket = S($ACCESS_TOKEN);
//}

return $jsapi_ticket;
}

/**
* 微信网页JSSDK 获取签名字符串
* 所有参数名均为小写字符
* @param unknown $nonceStr 随机字符串
* @param unknown $timestamp 时间戳
* @param unknown $jsapi_ticket
* @param unknown $url 调用JS接口页面的完整URL,不包含#及其后面部分
*/
function get_js_sdk($APP_ID,$APP_SECRET){
$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== off || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";
$url = $protocol.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

$argu = array();
$argu['appId'] = $APP_ID;
$argu['url'] = $url;
$argu['nonceStr'] = $this->createNonceStr();
$argu['timestamp'] = time();

$ACCESS_TOKEN = $this->get_accesstoken($APP_ID, $APP_SECRET);
$argu['jsapi_ticket'] = $this->get_jsapi_ticket($ACCESS_TOKEN);

$string = "jsapi_ticket=".$argu[jsapi_ticket]."&noncestr=".$argu[nonceStr]."×tamp=".$argu[timestamp]."&url=".$argu[url];
$argu['signature'] = sha1(trim($string));
return $argu;
}

/**
* 获取随机字符串
* @param number $length
* @return string
*/
function createNonceStr($length = 16) {
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$str = "";
for ($i = 0; $i < $length; $i++) {
$str .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
}
return $str;
}


}


调用的模板代码

 <script type="text/javascript" src="/Public/eq/eqShow-2.9.1_view.js"></script>

<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
<script>
wx.config({
debug: false,
appId: '{$confinfo[appId]}',
timestamp: "{$confinfo[timestamp]}",
nonceStr: '{$confinfo[nonceStr]}',
signature: '{$confinfo[signature]}',
jsApiList: [
'onMenuShareTimeline',
'onMenuShareAppMessage'
]
});
wx.ready(function () {

var shareData64 = {
title: '{$confinfo2[title]}',
desc: '{$confinfo2[desc]}',
link: PREFIX_URL+'{$confinfo2[url]}',
imgUrl: (('{$confinfo2[imgsrc]}'.indexOf('syspic/') >= 0) ? PREFIX_FILE_HOST : USER_FILE_HOST)+'{$confinfo2[imgsrc]}'
};
wx.onMenuShareAppMessage(shareData64);
wx.onMenuShareTimeline(shareData64);

});

wx.error(function (res) {
//alert(res.errMsg);
});
</script>
...全文
1882 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
若水印象 2015-08-31
  • 打赏
  • 举报
回复
请问博主怎么解决的?

3,143

社区成员

发帖
与我相关
我的任务
社区描述
微信开发即微信公众平台开发,将企业信息、服务、活动等内容通过微信网页的方式进行表现,通过二次开发可以将公众账号由一个媒体型营销工具转化成提供服务的产品。
社区管理员
  • 微信开发
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧