V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  pretty66  ›  全部回复第 2 页 / 共 4 页
回复总数  62
1  2  3  4  
@kingofzihua chatgpt 亲自答:`CURLOPT_FORBID_REUSE` 和 `CURLOPT_FRESH_CONNECT` 是 cURL 中的两个参数,用于控制连接的复用和重新连接。它们的作用如下:

1. `CURLOPT_FORBID_REUSE`:设置为 `true`(或 `1`)时,表示禁止复用连接。这意味着在请求之间不会重用现有的连接,而是每次请求都会创建一个新的连接。默认情况下,cURL 是允许复用连接的。

2. `CURLOPT_FRESH_CONNECT`:设置为 `true`(或 `1`)时,表示强制每次请求都创建一个新的连接,即使之前的连接可复用。默认情况下,cURL 会尝试复用现有连接,以提高性能。

在 PHP-FPM 不同的生命周期中,这两个参数的设置通常不会影响连接的复用。PHP-FPM 是一个进程管理器,它会在请求到达时启动一个 PHP 进程来处理请求,处理完请求后,该 PHP 进程会继续存在一段时间等待下一个请求。连接的复用通常是在同一 PHP-FPM 进程内进行的,而不是在不同 PHP-FPM 进程之间。

如果你希望在不同的 PHP-FPM 进程之间共享连接池,你需要使用连接池管理工具或者设置共享内存等机制,这超出了 cURL 的 `CURLOPT_FORBID_REUSE` 和 `CURLOPT_FRESH_CONNECT` 参数的作用范围。

因此,`CURLOPT_FORBID_REUSE` 和 `CURLOPT_FRESH_CONNECT` 主要用于在单个 PHP-FPM 进程内的不同请求之间控制连接的行为,而不会跨不同 PHP-FPM 进程。如果需要在不同 PHP-FPM 进程之间实现连接的共享和复用,需要考虑其他方法,如使用连接池工具或者共享内存。
@demoshengxw 能用 sidecar 是很好的方案,你们公司业务规模肯定不小;一般的小公司的技术是用不起来这一套的,fastcar 也类似一个 sidecar 的程序内部维护连接池,只专注于解决 php http 请求的问题,比较适合小业务;只需要在程序调用的地方增加三行 curl 设置就能保持长连接。当然如果有实力使用 service mesh 架构肯定是极力推荐 sidecar 方案,我们公司也是使用的 service mesh 架构
@changz 如果项目代码封装比较好,只需要在请求调用的函数增加仅仅三行代码,对正常的业务无任何影响;做 hook dns 再做代理,代理你使用正向代理吗,正向代理你怎么保持连接复用
@vibbow 粗略的看了下 pfsockopen 和 stream_socket_client 这两个函数都是偏网络底层的,工作在 tcp4 层,如果处理 7 层的 http 协议需要基于这些函数自己实现协议的封装;相当于自己实现 http client 复杂度有点高;目前没有发现成熟开源库。简单的 http 请求用这些底层函数封装下还行,如果涉及到复杂的 http 请求不知道能否胜任。例如:服务端异常主动关闭连接的,http 的 chunked 数据响应,http2 的服务 不知道这几种情况能否很好的处理
@vibbow 感谢分享,不知道这个在进行 http 、https 请求时配置是否复杂;后面深入研究下😄
@vibbow 多个 php-fpm 生命周期之间有办法复用连接吗,有没有文档甩个我看看
@lisxour 听了这么多大佬的建议,目前选择的方案是 vscode-remote 模式先试试
@wangsyi13
@Norths
感谢建议,我尝试一下
@xiaoz 目前用 vscode 还不习惯,还是喜欢用 jetbrains 系列,目前建议好多都是 vscode 相关的,尝试下能不能适应 vscode 吧😄
@hauzerlee vscode 用不惯,习惯使用 jetbrain ;如果真没啥好方法 要考虑换编辑器😂
@limaofeng 你是明白的 就是费时间
@litchinn
@DingJZ
@anson0370
@yjxjn

设备比较多,开发加测试的常用机器大概有 4 台,测试的机器经常也要拉项目,git 拉来拉去挺麻烦 例如这边写了个小功能要到 win 上跑测试,就得临时提交 然后到 win 上拉去,费时间;就想着能有一块公共的盘在各个设备上挂载下就有最新的代码 这样就方便了,git 只做版本控制和备份
@binge921 我一台 mac 两台 win 一台 linux ,这个方案估计整不了😭
@yinmin 套 kcp 这个有现成的软件吗,需要自己开发不
@ConfusedBiscuit
@chesha1
好的,多谢
@uni
@dayeye2006199
多谢建议,我试试看
@dearmymy 有时候连接手机热点开发,远程桌面总感觉不舒服😔
@yinmin onedrive 使用这个同步的速度快吗,会经常出现文件冲突啥的不
@ConfusedBiscuit 感谢建议,同样比较担心 ondrive 这种使用体验,远程桌面这个也试过对带宽要求有点高 网络不好的话卡顿,第 2 点:搭建过服务器上面装 code server (浏览器操作编程的感觉不太方便),vscode remote 或 JetBrains Gateway 这俩没试过 不知道体验咋样,你有没有体验过使用方便吗
1  2  3  4  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2015 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 12ms · UTC 16:12 · PVG 00:12 · LAX 08:12 · JFK 11:12
Developed with CodeLauncher
♥ Do have faith in what you're doing.