技术饭 负载均衡导致wss的websocket请求被分发到其他服务器,无法实时收到消息

负载均衡导致wss的websocket请求被分发到其他服务器,无法实时收到消息,平时我们做swoole即时消息系统的时候,正常情况下就只使用一台服务器作为websocket的请求与分发,但是当加入了负载均衡之后,如果每台服务都开启了websocket,这样会导致客户端的wss请求可能随机分配到不同的服务器上,而每台服务器与客户端链接保存的fd可能重复,A服务器没办法给B服务器的客户端发送消息。

阅读全文 » 1183天前
2021年08月29日

技术饭 websocket 心跳包保持连接和关闭重连

websocket 心跳包保持连接和关闭重连,在开启了swoole服务之后,浏览器链接websocket链接之后,发送数据正常,但是过一段时间如果浏览器没有重新请求服务器会自动的断开会话,这样就不能发送数据了,为了保持链接需要做一个链接服务器的心跳请求。

阅读全文 » 1332天前
2021年04月02日

技术饭 PHP ZipArchive 类库压缩、解压Zip文件

PHP ZipArchive 类库压缩、解压Zip文件,PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启,具体开启方法请自行百度。

阅读全文 » 1710天前
2020年03月20日

技术饭 thinkphp5.1.27使用PhpSpreadsheet下载表格 php://output 报错ERR_INVALID_RESPONSE

thinkphp5.1.27使用PhpSpreadsheet下载表格 php://output 报错ERR_INVALID_RESPONSE,有些服务器可以正常,网上的解释都是说确认php_zip,php_gd2,php_xml是否开启,经过测试都开启了却还是不行,最终看了先thinkphp5的输出方式是return,所以在 php://output 前面加个return输出即可。

阅读全文 » 1894天前
2019年09月18日

技术饭 MySQL创建自定义函数(Functions)

MySQL创建自定义函数(Functions),查看函数功能是否开启:show variables like '%func%';开启:SET GLOBAL log_bin_trust_function_creators=1;关闭:SET GLOBAL log_bin_trust_function_creators=0;

阅读全文 » 2243天前
2018年10月05日

技术饭 php开启redis扩展

php开启redis扩展,ts表示线程安全的,nts表示非线程安全的,根据php使用的版本定。(可以通过phpinfo中的Thread Safety来确定php是什么样的版本,enabled:表示是线程安全的,disabled:表示非线程安全的)下载之后将php_redis.dll、php_redis.pdb文件放到php安装目录下的ext文件中。

阅读全文 » 2448天前
2018年03月13日

技术饭 wnmp下thinkphp5下解决不支持pathinfo模式解决方案

wnmp下thinkphp5下解决不支持pathinfo模式解决方案,这几天开发环境换成了最新版本的wnmp,导致了运行tp5时,pathinfo模式一直报错。报错的原因是开启pathinfo模式时index.php入口文件被解析成了一个参数,再三寻研究了好几遍最后才找到了答案。

阅读全文 » 2449天前
2018年03月12日

技术饭 从php5升级到php7之后,session不能传递的解决方案

从php5升级到php7之后,session不能传递的解决方案,刚刚把php升级到了php7.1.7,发现网站后台不能登录,一直提示验证码错误,可是明明GD库开启了,验证码也是显示的,经过测试发现是session为空了,折腾了大半天才知道php7的session默认设置是不传递的,有点坑啊。

阅读全文 » 2660天前
2017年08月13日

技术饭 ThinkPHP使用数据库读写分离时,开启事务时报错:There is no active transaction

ThinkPHP使用数据库读写分离时,开启事务时报错:There is no active transaction,刚开始以为是数据表引擎不对造成的,因为 有几张表的引擎是 MyISAM,后来调整过来了,改为 InnoDB,还是报错。应该是TP 底层连数据库时,切换数据库连接时出了点问题。

阅读全文 » 2743天前
2017年05月22日

技术饭 phpstorm如何开启xdebug调试模式

如何开启 phpstorm的xdebug调试模式?首先去下载一个phpstorm,安装教程我就不讲了,激活码百度也有,下面需要打开一个配置好的虚拟主机项目 我就拿我的演示,先打开环境中的xdebug 找到php.ini 中的xdebug.remote_autostart=Off改为On 如果没有 请自己添加保存 记得重启服务器(切记)

阅读全文 » 2813天前
2017年03月13日