我是一名通信工程专业大三学生,最近突然萌生了自建微信公众号的想法,注册后发现,仅凭微信官方提供的功能根本不足以实现高级自动回复功能。通过了解,得知可以使用云服务器来实现这一切。百度之后,就把目光锁定在了阿里云上面,当时正值阿里云的“飞天加速计划——高校学生在家实践”活动时期。进行学生认证后就拿到了我的第一台阿里云ECS。阿里云ECS无论是易用性还是产品配置都要领先于同行,感谢阿里云为在校大学生提供了一个优质的实践平台!
拿到云服务器之后的第一件事便是重置实例密码,用XShell连接。并且部署了宝塔面板、Nginx和MySQL等几个需要用到的软件。这里遇到的第一个问题是宝塔面板的后台无论怎样都打不开,最开始想是否软件安装存在问题,经过一番了解才发现原来ECS防火墙的端口没有开启导致,添加端口后便顺利的打开了后台。之后就是在微信公众平台上的操作了,通过阅读开发者手册和CSDN上的教程,得知如果需要开启微信公众号的开发者模式,需要微信对服务器进行验证,得到正确返回值后方可。在服务器后台用PHP写了一个返回相关信息的脚本,第一步算是成功跨过。这里遇到的问题是微信开发者手册上的PHP代码存在问题,使用了一些早已被官方停用的函数导致报错。
第一步完成后紧接着是测试自动回复功能,由于微信发来服务器的信息是XML格式,所以需要将其中的各个对象提取出来,这里用的是simplexml_load_string,XML中包含六个信息,分别是发送者ID,接收者ID,消息类型,消息内容,时间和Flag。做到自动回复,需要将服务器接收到信息的发送者ID和接收者ID调转过来,然后再在消息内容中填写你想要的。由于这么做本质上还是普通的自动回复功能,所以第二步就是自动回复数据库中的内容。
随后在RUNOOB上学习了MySQL数据库的简单部署教程,新建数据库和表格,并且在PHP中对数据库进行读写操作。这里邀请了几个同学填写姓名学号对数据库进行了测试,并且在后台成功的看到了填写的信息。下一步就是将数据库读写和自动回复连接起来,通过创建PHP对象,在自动回复的脚本中可以调用数据库读写函数。测试成功,现在可以通过微信公众号调取到每一位同学的信息。
通过这次实践,我学习到了ECS的搭建和PHP、JS、MySQL的基本内容。明白了服务器的运行原理。为我今后的就业道路提供坚实基础。最后再次感谢阿里云为在校大学生提供如此优质的实践机会!