微信公眾號開發之伺服器配置
阿新 • • 發佈:2019-01-10
由於個人公眾號的需要,從現在開始也加入到公眾號開發的隊伍中啦~
微信的使用者數量已經達到9E+了,龐大的使用者基數,活躍的微信社群,開放的平臺。通過這一平臺,每一個人都可以用一個qq 號碼,打造自己的一個微信的公眾號。不管是自己運營公眾號,還是做公眾號定製開發都是不錯的賺錢手段。(哈哈, 談錢有點俗哈~),好的廢話不多說了,開始凍手吧~
前期準備工作:
- 首先我們需要一個屬於自己的公眾號,如果沒有的話就在這裡申請一個測試帳號,具體怎麼申請就問百度吧~
- 必須要有一臺自己的公網伺服器,以供微信伺服器訪問,如果沒有可以去租一臺雲伺服器,不貴幾十塊錢一個月
- 搭建自己的伺服器環境,我的環境是(linux+nginx+php+mysql),具體怎麼搭建百度一堆,
部署驗證程式碼:
程式碼需要能正確響應微信傳送的Token驗證,我們可以百度別人的驗證程式碼,也可以直接使用微信提供的驗證事例程式碼,在這裡
下載完成後,放在我們的WEB伺服器下, 能訪問就可以了,我的程式碼如下:
這裡要注意:程式碼中的TOKEN必須要跟下圖介面資訊配置中的TOKEN值要一樣,不樣是驗證不成功的<?php /** * wechat php test */ //define your token define("TOKEN", "weixin"); $wechatObj = new wechatCallbackapiTest(); if (isset($_GET['echostr'])) { $wechatObj->valid(); }else{ $wechatObj->responseMsg(); } class wechatCallbackapiTest { public function valid() { $echoStr = $_GET["echostr"]; //valid signature , option if($this->checkSignature()){ echo $echoStr; exit; } } public function responseMsg() { //get post data, May be due to the different environments $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; //extract post data 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 = "Welcome to wechat world!"; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr); echo $resultStr; }else{ echo "Input something..."; } }else { echo ""; exit; } } private function checkSignature() { $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 ){ return true; }else{ return false; } } } ?>
介面資訊配置:
所有配置工作都已經完成了,但是別忘了點選啟用伺服器配置(我開始就忘了,所有一直不成功)
一切準備就緒,就來試試吧~
驗證成功啦,而且還能回覆訊息~
如果遇到配置提交或者啟用不成功的情況,可能是微信伺服器訪問不到你的URL,或者是你的token填寫的不一致導致的。
歡迎微信微信搜尋:糗一點,或者掃下面二維碼
祝生活愉快!!