本人直接使用的windows,phpstudy_pro本地环境
安装了php5.6版本和php7.3版本
两个版本都开启了socket扩展
当环境变量是php7.3时,运行测试代码
开启服务成功,js正常连接websocket
但是当环境变量切换到PHP5.6时
同样的测试代码,开启服务也成功:
但是js客户端会一直卡在连接状态
再过一会儿后就提示连接超时
使用原生websocket时,php5.6也是可以正常使用的,只是使用workerman时,不能正常使用
因公司项目环境,必须使用5.6环境,所以必须解决这个问题,求各位大佬赐教,这个到底是什么问题
测试下上面代码,排除下业务逻辑问题。
回复不能贴图,测试了,还是和之前一样的,服务能正常启动,但是js连接的时候就是连接不上,等4分钟后就超时
可能是php的bug,你看下你们线上php版本是多少,用线上一致的版本试下。
@1:我换成php5.6.27版本,功能已经正常
原本是PHP5.6.9版本,我切换到PHP5.6.27的版本,功能恢复正常,所以问题暂时解决,但是欢迎各位大佬继续讨论此问题,这个异常可能是个BUG,不知道有没有解决的办法
windows环境同php版本,无法握手成功,只能换个版本去启动服务就行了,具体为什么不行等待大神
bug :https://www.workerman.net/a/1254
新项目就用7.4 + 以上吧!5.6就算了