昨天帮朋友解决了人人商城互动直播通信服务无法通信问题,而这个直播平台是可以和微信公众号联在一起使用的,我也没有用过,只是看过他的界面。平台使用到swoole的PHP组件,怎样的安装,我这里就不一一的说明了,只是把出现的问题和解决方法整理下。也希望能帮到一些朋友。
在LNMP环境都配置好了,网站也能正常运行了,相关的端口也开放了,云服务器[你的服务商,如腾讯、阿里、百度.....] 的安全组里放行9501端口,swoole组件也正常安装了,在phpinfo里也能看到swoole的信息,就是后台中的互动直播通信服务的连接是失败的。在新睿社区里也有说执行:#/www/server/php/56/bin/php-f/www/wwwroot//addons/ewei_shopv2/core/socket/server.php
也放在开机启动里/etc/rc.d/rc.local,就是不成功。相信少人执行了上面的命令后,都会有下面的问题出现,
我帮朋友解决时我也遇到。现在我把一些解决的方法整理出来,分享给大家。
问题一:server.php无法启动或启动出错
#/www/server/php/56/bin/php-f/www/wwwroot//addons/ewei_shopv2/core/socket/server.php
Couldnotopeninputfile:/www/wwwroot//addons/ewei_shopv2/core/socket/server.php
解决方法:
问题二:9501端口被占用WARNINGswSocket_bind:bind(localhost:9501)failed.Error:Addressalreadyinuse[98]
这个问题只要是9501端口被占用了。
解决方法:
1、最快的方法就是直接重启服务器,再运行下命令。
2、netstat -anlp |grep 9501 或者 lsof -i:9501 找出后占用端口的程序的PID,用kill -9 PID 结束掉后,再运行下命令,就行了。
问题三:服务器重启后,又出问题
命令执行成功,没有报错,后台也显示成功了,但是重启后又不行了???
解决方法:
本部分为付费内容,支付后可查看
问题四:No such file or directory
解决方法:这个问题的解决方法和问题一的解决方法一样,可以按问题一的解决方法进行解决。
问题五:http正常,https无法通信
那你要检查一下swoole是否支持openssl了,用 php --ri swoole 检查一下。
解决方法:
本部分为付费内容,支付后可查看
ps:运行php -m|grep swoole报错
undefined symbol: bufferevent_openssl_set_allow_dirty_shutdown in Unknown on line 0
需要在/etc/php.d/sockets.ini文件中加入
extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-1226/swoole.so",
同时去掉php.ini文件中的extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-1226/swoole.so",因为ini文件中已经默认加载了sockets.ini文件
一般来说,报undefined symbol: bufferevent_openssl_set_allow_dirty_shutdown in Unknown on line 0这样的错误都是安装的模块在sockets.ini文件中没有被加载,只要将相应的.so模块加入sockets.ini的最后一行就可以了
============更新记录说明============
-08-28更新问题五,这个问题是一位朋友他【*超】遇上的,记录下来。
如果还是不行又或者你遇到的问题并不是这些,可以将问题发过来,我看看能不能帮你分析一下。服务器上的一些问题和服务配置上的问题,本人还是可以解决一些问题的。