我使用的是阿里云服务器ECS
第一步
根据阿里云服务器提示部署LAMP环境
根据提示一步步完成
第二步
远程连接服务器
进入目录/var/www/html/phpinfo.php
更改phpinfo.php文件
代码参考:微信公众号开发——服务器配置及token验证_Some.-CSDN博客_公众号服务器配置token
<?php
/**
*wechatphptest
*/
//defineyourtoken
define("TOKEN","weixin");
$wechatObj=newwechatCallbackapiTest();
$wechatObj->valid();
classwechatCallbackapiTest
{
publicfunctionvalid()
{
$echoStr=$_GET["echostr"];
//validsignature,option
if($this->checkSignature()){
echo$echoStr;
exit;
}
}
publicfunctionresponseMsg()
{
//getpostdata,Maybeduetothedifferentenvironments
$postStr=$GLOBALS["HTTP_RAW_POST_DATA"];
//extractpostdata
if(!empty($postStr)){
$postObj=simplexml_load_string($postStr,'SimpleXMLElement',LIBXML_NOCDATA);
$fromUsername=$postObj->FromUserName;
$toUsername=$postObj->ToUserName;
$keyword=trim($postObj->Content);
$time=time();
$textTpl="<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<Content><![CDATA[%s]]></Content>
<FuncFlag>0</FuncFlag>
</xml>";
if(!empty($keyword))
{
$msgType="text";
$contentStr="Welcometowechatworld!";
$resultStr=sprintf($textTpl,$fromUsername,$toUsername,$time,$msgType,$contentStr);
echo$resultStr;
}else{
echo"Inputsomething...";
}
}else{
echo"";
exit;
}
}
privatefunctioncheckSignature()
{
$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){
returntrue;
}else{
returnfalse;
}
}
}
?>
define("TOKEN","weixin");其中token就是之后配置的token
第三步
进入微信公众平台
URL:http://公网IP/phpinfo.php
Token:是之前phpinfo.php中的token
密钥:随机生成
提交即可验证成功