日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

php微信公众号开发入门

發(fā)布時間:2025/4/14 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php微信公众号开发入门 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1 公眾號準(zhǔn)備

首先申請一個公眾號申請公眾號網(wǎng)頁

由于一般的個人訂閱號開放的功能有限,作為學(xué)習(xí)者,我們并不推薦使用這種賬號的開發(fā)者模式進(jìn)行開發(fā),而是另外申請一個測試號進(jìn)行開發(fā)學(xué)習(xí),測試號開放的功能基本可以滿足我們的學(xué)習(xí)需求。

默認(rèn)的測試號登陸進(jìn)去是這樣子的

2 服務(wù)器準(zhǔn)備

微信開發(fā)需要一臺具有公網(wǎng)IP的服務(wù)器,通??梢允褂酶鞣N云平臺的服務(wù)器:如騰訊云,阿里云等,大多數(shù)都是收費的,如果僅僅是體驗一下,可以使用免費的新浪云sae服務(wù)器

2.1 新浪sae服務(wù)器的申請和使用(僅支持PHP)


2.1.1 創(chuàng)建應(yīng)用

打開官網(wǎng)https://www.sinacloud.com

注冊或登錄,點擊控制臺->云應(yīng)用SAE,點擊創(chuàng)建應(yīng)用

選擇空間(運(yùn)行環(huán)境選擇標(biāo)準(zhǔn)環(huán)境,其他的需要付費)

2.1.2 代碼管理

在應(yīng)用列表選擇管理

選擇運(yùn)行環(huán)境管理,代碼管理,創(chuàng)建新版本

新建完成后可以直接在線編輯代碼上傳代碼包

2.1.3 訪問測試

創(chuàng)建新版本時默認(rèn)是沒有代碼的,故直接訪問結(jié)果是404

這時可以通過在線編輯或者上傳代碼包的方式增加代碼,比如我在線編輯一個index.html

保存之后再訪問

由于還沒實名認(rèn)證,瀏覽器給出了風(fēng)險提示,但是我們的代碼已經(jīng)生效了

實名認(rèn)證可以到新浪云用戶中心進(jìn)行操作

2.1.4 使用git進(jìn)行代碼控制

在新浪云創(chuàng)建新運(yùn)用后,新浪云默認(rèn)為我們創(chuàng)建了一個代碼倉庫,地址:https://git.sinacloud.com/newapp,將newapp換成你的二級域名即可,我們可以將這個代碼庫克隆下來

示例:

git clone https://git.sinacloud.com/chzchat cd chzchat

這樣我們就可以在這個目錄下進(jìn)行開發(fā),開發(fā)完成后使用git命令就可以將代碼推送到代碼庫,代碼庫是和服務(wù)器關(guān)聯(lián)的,這個操作等同于上傳代碼包,但是更方便,關(guān)于git的使用可以參考廖雪峰老師的教程

2.2 騰訊云15天免費云服務(wù)器

2.2.1 領(lǐng)取免費服務(wù)器

領(lǐng)取地址,首先需要實名認(rèn)證,這里我選擇的操作系統(tǒng)是Ubuntu14

開通后會在控制臺的通知那里收到一條信息,里面有操作系統(tǒng)的初始密碼,我們可以選擇重置密碼來設(shè)置新密碼

2.2.2 登陸服務(wù)器

  • 在瀏覽器端登陸服務(wù)器

    選擇登陸操作,需要微信授權(quán),選擇標(biāo)準(zhǔn)登陸模式

    用戶名默認(rèn)為ubuntu,登陸密碼為初始密碼或重置后的密碼,成功登陸

  • 使用xshell登陸

    新建連接

    雙擊新建立的連接,按提示輸入用戶名和密碼即可成功登陸

  • 使用xftp登陸

    使用xftp可以在兩臺計算機(jī)之間快速傳輸文件,連接方式選擇sftp,其他操作和xshell基本一致

    傳輸失敗的原因可能是Linux的目錄沒有寫入權(quán)限,這時我們可以使用xshell先設(shè)置好目錄權(quán)限

    chmod 777 目錄名

2.2.3 配置開發(fā)環(huán)境

  • 配置apache2+php5+mysql

    sudo apt-get update sudo apt-get install apache2 sudo apt-get install php5 sudo apt-get install mysql-server mysql-client

    測試apache2是否安裝成功

    瀏覽器訪問服務(wù)器公網(wǎng)IP

    測試php是否安裝成功

    sudo vim /var/www/html/phpinfo.php

    phpinfo.php內(nèi)容

    <?php phpinfo();

    保存退出編輯,訪問phpinfo.php

    測試mysql是否安裝成功

    #連接數(shù)據(jù)庫 mysql -uroot -p #輸入密碼

  • 其他環(huán)境配置請自行百度

3 公眾號與服務(wù)器關(guān)聯(lián)

3.1 微信入口文件

在開發(fā)目錄下新建微信入口文件wx_entrance.php

<?php define('TOKEN','chz'); $signature=$_GET['signature']; $timestamp=$_GET['timestamp']; $nonce=$_GET['nonce']; $echostr=$_GET['echostr']; $tmpArr=array(TOKEN,$timestamp,$nonce); sort($tmpArr,SORT_STRING); // 拼接字符串 sha1加密 $tmpStr=join($tmpArr); $tmpStr=sha1($tmpStr); if ($tmpStr==$signature) { echo $echostr; }else{ echo "error"; exit; }

3.2 接口配置信息

上傳代碼到服務(wù)器,配置微信測試號接口配置信息

?

URL填:http://你的服務(wù)器公網(wǎng)IP(或域名)/微信入口文件名

Token填微信入口文件中定義的TOKEN,如果信息匹配且服務(wù)器器已經(jīng)實名驗證,則提交后提示配置成功

4 微信開發(fā)小demo——微信消息的接入和消息回復(fù)

修改微信入口文件的代碼為

<?php // 加密簽名 $signature=$_GET['signature']; // 時間戳 $timestamp=$_GET['timestamp']; // 隨機(jī)出 $nonce=$_GET['nonce']; // 隨機(jī)字符串 $echostr=$_GET['echostr']; // TOKEN define('TOKEN','chz'); // 字典序排序 $tmpArr=array(TOKEN,$timestamp,$nonce); sort($tmpArr,SORT_STRING); // 拼接字符串 sha1加密 $tmpStr=join($tmpArr); $tmpStr=sha1($tmpStr); // 加密簽名的比較 if ($tmpStr==$signature) { echo $echostr; }else{ echo "error"; exit; } // 接受xml數(shù)據(jù) $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; if (!$postStr) { echo "post data error"; exit; } $postObj=simplexml_load_string($postStr,'SimpleXMLElement', LIBXML_NOCDATA ); $MsgType=$postObj->MsgType; switch ($MsgType) { case 'text': $Content=$postObj->Content; switch ($Content) { case 'hello': $xml='<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%d</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[%s]]></Content> </xml>'; echo sprintf($xml,$postObj->FromUserName,$postObj->ToUserName,time(),'歡迎關(guān)注'); break; default: $xml='<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%d</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[%s]]></Content> </xml>'; echo sprintf($xml,$postObj->FromUserName,$postObj->ToUserName,time(),$postObj->Content); break; } break; case

轉(zhuǎn)載于:https://www.cnblogs.com/chuanzi/p/10852139.html

總結(jié)

以上是生活随笔為你收集整理的php微信公众号开发入门的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。