人人商城收不到短信和微信消息,后台队列错误问题怎么解决?
人人商城消息通知功能很实用!支持微信模板消息、短信消息提醒,可用于用户注册、登录、订单通知、付款通知、发货通知等场景;但是迁移服务器后发现收不到消息提醒了;短信和模板消息发送失败!后台队列错误,这个问题怎么解决?笔者无奈之下求助技术解决此问题,花了500大洋!
首先99.99%可以肯定的是出现这个问题是队列失败导致的。
要成功启动队列服务,这个问题自然就解决了!
第一步,请自查:
- PHP版本要求7.1,以下扩展必须安装(ionCube Loader、redis、fileinfo、bcmath),需要卸载掉的冲突扩展(Swoole Loader、ZendGuardLoader、Xdebug);宝塔环境下的php还需要将如下禁用函数删除(pcntl_signal、pcntl_signal_dispatch、proc_open、proc_close、proc_get_status),否则队列服务无法启动。
第二步:配置并启动 队列服务。 如果不会操作,可以加V 93547942 付费解决,
队列服务需要配置服务器守护进程,必须用服务器管理员即root用户操作,本次采用的是CentOS7自带的systemd守护,适用服务器Linux3.0以上内核版本,如CentOS7,CentOS8等,守护队列服务和开机启动;如果您对Linux不熟悉,一定要联系客服或者运维配置,否则商城手机端无法收到短信和消息通知。
- 写入systemd队列服务启动脚本
在/lib/systemd/system
目录下新建一个renrenshop_queue.service
文件,填入如下内容,其中WorkingDirectory
项为您的商城模块安装目录,ExecStart
项目第一个参数是php7.1的命令行路径,这两项需要按照您的服务器情况来填写,不可以直接复制这里的配置信息。
[Unit]
Description=renren_shop queue service
After=network.target
[Service]
Type=simple
User=www
ExecStart=/www/server/php/71/bin/php console queue/listen
WorkingDirectory=/www/wwwroot/www.100cms.com.cn/addons/renren_shop
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=on-failure
RestartSec=3s
[Install]
WantedBy=multi-user.target
第三步,依次执行:配置队列服务启动
systemctl daemon-reload
systemctl enable renrenshop_queue.service
systemctl start renrenshop_queue.service
●检查队列服务是否启动
systemctl status renrenshop_queue.service
返回绿色active如下说明队列服务启动成功