用ThinkPHP6搭建微信中转服务,手机发指令即可远程操控电脑执行查磁盘、关机等任务,需配置XAMPP环境、公众号服务器及内网穿透,并编写WechatController实现签名验证、XML解析与shell命令调用。

你在高铁上接到客户电话要一份刚改完的合同,电脑却留在公司;深夜陪娃睡觉时老板微信问“周报发了吗”,文件明明在你家台式机里——这些场景不用再开电脑、不用回公司,用ThinkPHP搭个中转服务,手机微信发句话,电脑就能自动执行任务。
准备本地PHP运行环境
下载并安装XAMPP(含Apache+MySQL+PHP),安装路径不要含中文或空格,例如直接放在D:\xampp。
启动XAMPP控制面板,勾选Apache和MySQL,点击Start启动服务。打开浏览器访问http://localhost,看到XAMPP欢迎页即表示PHP环境就绪。
这一步必须成功,否则后续所有微信指令都无法被接收和解析——【Apache未运行会导致微信服务器超时断连】。
立即学习“PHP免费学习笔记(深入)”;
注册公众号并配置服务器地址
登录微信公众平台(mp.weixin.qq.com),注册订阅号(个人可用),进入「开发」→「基本配置」页面。
点击「修改配置」,填写你的公网可访问地址:http://your-domain.com/wechat/index.php(若无域名,需先用内网穿透工具如cpolar映射本地80端口,并确保穿透地址稳定可用)。
Token随意设置为weixin123,EncodingAESKey留空(初学建议先用明文模式),AppID和AppSecret在页面顶部可见,务必复制保存。
点击「提交」后,微信会向你的URL发送GET请求校验服务器有效性——如果返回404或500,说明index.php未部署或路径错误,立即检查Apache日志。
编写ThinkPHP6消息接收逻辑
在ThinkPHP6项目根目录下,创建app/controller/WechatController.php文件。
写入以下核心代码,重点实现signature验证、XML解析、关键词匹配和本地命令触发:
```php
namespace app\controller;
use think\Controller;
class WechatController extends Controller
{
public function index()
{
$token = 'weixin123';
$signature = input('signature');
$timestamp = input('timestamp');
$nonce = input('nonce');
$echostr = input('echostr');
$tmpArr = [$token, $timestamp, $nonce];
sort($tmpArr, SORT_STRING);
$tmpStr = implode($tmpArr);
$tmpStr = sha1($tmpStr);
if ($tmpStr === $signature && !empty($echostr)) {
echo $echostr;
exit;
}
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$postStr = file_get_contents('php://input');
if (!empty($postStr)) {
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
$keyword = trim($postObj->Content);
$fromUsername = $postObj->FromUserName;
$toUsername = $postObj->ToUserName;
if (strpos($keyword, '查磁盘') !== false) {
$disk = round(disk_free_space('/') / pow(1024, 3), 2) . 'GB 可用';
$result = "
echo $result;
return;
}
if (strpos($keyword, '关机') !== false) {
shell_exec('shutdown -s -t 30');
echo "
return;
}
}
}
}
}
绑定本地电脑并触发远程动作
确保公司/家用电脑已开启远程桌面或安装QClaw/AiPy等本地AI代理软件,并保持开机、联网、不休眠。
在WechatController.php中扩展关键词指令,例如收到“发客户提案”时,调用shell_exec执行Python脚本:
shell_exec('python D:\scripts\send_proposal.py');
该Python脚本需预先写好:定位桌面文件→压缩→通过企业微信/SMTP/或微信API发送给指定人。注意Windows下需用绝对路径,且PHP执行用户要有对应目录读写权限。
测试时,在微信公众号对话框发送“查磁盘”,若收到磁盘剩余空间回复,说明指令通路已打通;再发“关机”,观察电脑是否弹出倒计时关机提示。



















