其实我自己想写原生的,但是官方封装的又完善又节约时间成本,想了想还是用官方的的吧
web-send-msg是基于workerman开发的,部署web-send-msg也必须引入workerman
wokerman部署好后运行时报以下错误,这个错误很好解决,原因是sdk里的代码兼容问题。我们直接更改sdk里的代码
Unknown command: cronMessage
Usage: php yourfile [mode]
Commands:
start Start worker in DEBUG mode.
Use mode -d to start in DAEMON mode.
stop Stop worker.
Use mode -g to stop gracefully.
restart Restart workers.
Use mode -d to start in DAEMON mode.
Use mode -g to stop gracefully.
reload Reload codes.
Use mode -g to reload gracefully.
status Get worker status.
Use mode -d to show live status.
connections Get worker connections.
更改代码后
开启服务 php yii web-msg-sender-service/start
本以为就可以完美运行了,又tm报错,不过也好解决,是因为禁止函数的问题
在php.ini解除禁止就可以了
禁用函数检查
使用这个脚本检查是否有禁用函数。命令行运行curl -Ss http://www.workerman.net/check.php | php
如果有提示Function 函数名 may be disabled. Please check disable_functions in php.ini
说明workerman依赖的函数被禁用,需要在php.ini中解除禁用才能正常使用workerman。
步骤如下:
1、运行php --ini
找到php cli所使用的php.ini文件位置
2、打开php.ini,找到disable_functions
一项解除对应函数的禁用
依赖的函数
使用workerman需要解除以下函数的禁用
stream_socket_server
stream_socket_client
pcntl_signal_dispatch
pcntl_signal
pcntl_alarm
pcntl_fork
posix_getuid
posix_getpwuid
posix_kill
posix_setsid
posix_getpid
posix_getpwnam
posix_getgrnam
posix_getgid
posix_setgid
posix_initgroups
posix_setuid
posix_isatty