申请了一个微信公众号,并启用了开发者身份。之前用的是SAE,直接把下面命名为index.php的代码上传到SAE上就行了,然后在微信公众平台设置里面填写对应的URL。
现在我换成了ECS,应该怎么部署代码呢?
我在服务器根目录下建了一个文件夹weixin,文件夹里保存下面的index.php代码,然后在微信公众平台里服务器URL填写的是: http://XX.XX.XX.XX/weixin/index.php
http://XX.XX.XX.XX是我的ecs服务器地址,可以访问,但是80端口上建了一个phpwind网站,不知道对微信公众平台有没有影响。
按照上面那样填写URL和token后,总是提示token验证不通过。是什么原因呢?是ECS配置的不正确吗?
下面是直接从网上找的index.php代码,原来放在sae上是直接能用的。
<?php
define("TOKEN", "weixin");
$wechatObj = new wechatCallbackapiTest();
if (!isset($_GET['echostr'])) {
$wechatObj->responseMsg();
}else{
$wechatObj->valid();
}
class wechatCallbackapiTest
{
//验证签名
public function valid()
{
$echoStr = $_GET["echostr"];
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr);
$tmpStr = implode($tmpArr);
$tmpStr = sha1($tmpStr);
if($tmpStr == $signature){
header('content-type:text');
echo $echoStr;
exit;
}
}
……
……
……
}
}
?>
你不知道微信官方有调试工具么,直接可以看到http头,你就可以判断是什么错误了