我用 PHP 脚本写了一个订阅 redis 列表的命令,但我发现跑了没多久就连接失败退出了。

报错的提示是:read error on connection to 127.0.0.1:6379

试了两次发现时间差不多,估计是触发了 PHP 的某个默认配置。

好在现在有了 ChatGPT,不需要去慢慢查文档了。

问了一下 ChatGPT,给出的 4 个可能原因中,第三个非常 match:

如果在读取数据时连接突然中断,可能是由于连接超时、网络中断或 Redis 服务器故障引起的。在 PHP 中,可以使用 ini_set('default_socket_timeout', -1); 来设置无限制的超时时间,以确保连接不会因为超时而关闭。

在脚本之前加上 ini_set('default_socket_timeout', -1); 再跑,果然 work 了。

查了下 php.ini 的配置,默认的时间果然是 60 秒。

自从有了 ChatGPT,Google 变得没那么重要了。。。

如果用 Google,可能我还在翻 StackOverflow 或者 php.net 寻找问题的可能原因。

如果用 Bing,可能我还在关闭 CSDN 页面上的广告。

如果用百度,可能我又要被哪个卖课的骗进去了。

现在体会到 ChatGPT 发布后,Google 为啥那么着急了。。。

一直在 macOS 和 Android 之间传输文件很头疼。

官方的 Android File Transfer 很扯淡,我用的小米机又要开开发者模式,又是要开 USB 调试,各种麻烦,还不稳定,第一次连接成功后,后来就再也连不上了。

后来还是用了老罗的遗产—— HandShaker,问题是 HandShaker 最后一个版本是 2018 年 3 月底发布的,不知道还能用多久,虽然在 2024 年 3 月的今天还能用。

前几天看到一个开源项目 localsend,就琢磨着准备搞一下试试。

巧了,结果第二天就在 v2ex 上看到一个国内开发者发布的新项目——闪电藤,也是基于 localsend 实现的。

我就想这到省事了,不用自己搞一套了,就下载安装用了几天,发现确实不错,连线都省了。

传输的上限是由你的 Wi-Fi 内网速度决定的,我用的一百多块钱的路由器,传输速度轻松 10MB+,美滋滋。

以后就用这个吧。

朋友昨天问我如何保存微信小程序页面里的图片,一时没想到好办法。

今天突然想起来这事,于是又琢磨了一下,发现其实非常简单。。。

方法就是在电脑上打开小程序页面,然后拖拽想要保存的图片到浏览器窗口或者微信聊天窗口(支持拖拽发图的窗口就行),然后就可以保存图片了。

因为我用的是 mac,所以只测试了 mac,Windows 不知道这个方法可不可行。

mac 下演示视频:

- 阅读剩余部分 -

国内的服务器有个蛋疼的问题:下载一些国外的依赖时非常慢甚至被墙。

比如 github 上的那些开源软件,下载速度只有十几K,甚至下不了。
再比如 packgist 至今都是被墙的,只能使用国内的镜像。

以前尝试过给服务器装个 v2ray 走代理,结果被云厂商扫描出来了,还给警告了一下。

怕被停服,不敢装了。

其实有个好办法就是使用 ssh -R 命令,将本地的代理端口共享给服务器,让服务器走你本地的代理去访问国外网站。

使用 ssh 连接服务器的时候,使用以下命令:

ssh -R 本地端口:本地主机:远程端口 用户名@远程主机

- 阅读剩余部分 -

之前一直使用 acme.sh 手动搞,非常麻烦,而且现在又被墙了,更加麻烦。

使用 Certbot,分分钟搞定,并且后续也不需要任何操作,全部自动化了,省心省力。

我服务器使用的是 Ubuntu + Nginx,在 Certbot 官网上选择一下,就可以看到专用的教程了:

2024-03-05T18:43:44.png

根据教程,执行以下步骤:

Certbot 官网: https://certbot.eff.org/

- 阅读剩余部分 -

设计表有个字段设计错了,但本地已经有一些测试数据了,不想删表重建,又得费工夫导数据。

于是 modify 该字段,发现不生效。原来修改 unique 字段为非 unique 是要用删除索引的方法(unique 字段默认会创建索引),删除了索引,就不是 unique 了。

首先根据字段名查找关联的索引:

SHOW INDEX FROM table_name WHERE Column_name='column_name';

然后删除索引:

ALTER TABLE table_name DROP INDEX index_name;

- 阅读剩余部分 -

<!-- 给 google 看的 -->
<meta name="author" content="作者" />
<meta name="description" content="页面描述,不超过 155 个字符。" />
<meta name="keywords" content="关键字1, 关键字2" />

- 阅读剩余部分 -