PHP接入微信公众号接口的全过程(含踩坑记录)
最近在对接微信公众号接口,官方文档真的一言难尽。。。第一步的验证接口就差点搞崩了。。
📌 官方接入文档地址
微信官方文档地址:
https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Getting_Started_Guide.html
文档提供了接入流程,但一些地方表述不清,特别是在 URL 配置和签名验证上,让人迷惑。。
🚧 踩坑记录
1. URL 填写格式的误区

官方文档说,上图的接口配置信息的URL,“填写:http://外网IP/wx”,我一开始照做,填写了 IP 地址(为了支持http://外网IP/wx访问,还特地开启了80端口、修改了nginx映射。。):
http://123.123.123.123/wx
结果微信验证成功是成功了,就是太麻烦。。最后发现只需要填写域名就可以了,不需要填外网 IP。我尝试用下面URL:
http://test.example.com/wxVerify.php
✅ 结果成功! 文档里的“填写:http://外网IP/wx”实在让人迷惑,实际上填写域名完全可以。
2. 接口验证 PHP 代码(完整)
下面也给出正确的步骤:
- 首先,在网站根目录下创建
wxVerify.php,然后写入如下内容:
<?php
const TOKEN = 'eeafff'; // 随便填
function checkSignature() {
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr, SORT_STRING);
$tmpStr = implode($tmpArr);
$tmpStr = sha1($tmpStr);
return ($tmpStr === $signature);
}
if (checkSignature()) {
echo $_GET['echostr'];
}
- 并配置微信后台接口 URL 为(比如你的域名为:https://test.com):
https://test.com/wxVerify.php
如下图:

- 最后点击提交即可~
🧠 总结
- 微信文档的“填写:http://外网IP/wx”误导了不少人,域名也是可以的。
- 有问题欢迎留言交流~
&spm=1001.2101.3001.5002&articleId=147272078&d=1&t=3&u=b867d32a0c2d4e5895b60bcde48aceb2)
2万+

被折叠的 条评论
为什么被折叠?



