Yun Dou
Yun Dou
https://github.com/dixyes/lwmbs/actions 根据你的需求选择 - cli开头的代表cli sapi(也就是php命令) - micro开头的是[micro](https://github.com/easysoft/phpmicro) sapi(sfx) - micro-cli是SAPI名称为"cli"的micro,用来兼容一些做了硬编码检查cli的PHP库 - x86_64是x86版的,用于大多数pc和“Intel” Mac - arm64/aarch64是arm64,用于树莓派/“Apple Silicon M1/2” Mac 对于linux - shared代表动态库, 对应shared,可以ffi/dl加载扩展: - glibc代表基于glibc,可以在红帽/debian/archlinux等上面用 - musl代表基于musl,可以在alpine/openwrt上使用 - static代表静态库,不能ffi,基本上不是出土文物的linux都能用 至于sdb安装啥的 你可以用composer
> @jingjingxyk 你想提什么 issue? @dixyes 不认可在 lwmbs 这个项目本身去做这个事情,你想要的东西应该在上层,类似于 hyperf box 之于 lwmbs,@dixyes 在 https://github.com/toastrun/mbs-runs 有在规划做这个事情,但我也不太清楚具体的方案 不是不是 没有issue是因为有人在issue发奇怪的东西我就给他关了 @jingjingxyk 如果你有有关lwmbs的疑问 发discussion就行了 mbs大坑一直没精力搞他 我准备等我的域名备案过了直接提供几种常见“风味”(比如说带了swow和redis的,带了swoole和redis的,带了libev和redis)的二进制的下载 p.s. mbs:micro build system,就是上面写的那个“客制化”构建系统,设想里的它可以允许你选择任意想要的扩展/库,实现自定义裁剪二进制(然而实现它需要太多活了,所以一直没做完 lwmbs:lightweight micro build scripts,就是用来实现定制构建的脚本,是mbs的基础...
新的饼: 等备案完成后,在我的服务器上我会做一个简单的自动化(cron 用lwmbs构建),自动构建常见风味的php二进制/micro SAPI二进制,通过oss/cdn提供下载。当然还得加个免责声明:我保证不主动添加bug/后门,但我没有能力彻底审查所用到的源代码,不保证不包含bug/后门,你可以根据你对我和我所用的开源项目的信任程度选择是否使用这些二进制。 自定义裁剪二进制(mbs)那个饼一时半会 三时两会都圆不上 实在没人没精力搞
> 看了这个视频 > > 视频: https://www.bilibili.com/video/BV1Eb4y1n7xE/ > > 视频节点: 0:58:34 视频节点: 1:02:44 视频节点: 1:05:34 > > 看到大佬的图,我发现,我自个做的这个: [https://swoole-cli-ui.jingjingxyk.com/,和大佬的有很多相似的地方。](https://swoole-cli-ui.jingjingxyk.com/%EF%BC%8C%E5%92%8C%E5%A4%A7%E4%BD%AC%E7%9A%84%E6%9C%89%E5%BE%88%E5%A4%9A%E7%9B%B8%E4%BC%BC%E7%9A%84%E5%9C%B0%E6%96%B9%E3%80%82) mbs那个思路是这样的 你去勾选下就能得到一个裁剪过的二进制 其实我这边进度主要卡在供应链透明上 我没法证明我不会在生成的二进制/脚本里下毒,所以要考虑利用glci这个大家都能看都能审计的平台来进行构建,然而开发起来比较痛苦,比如一次构建环境的准备就要几分钟 要是不这么强迫症的话 做成一个SaaS服务就很简单,但说实在的 我要自己看见有这么个服务 触发作者十分知名(如musl.cc caddy) 否则多半是不敢用的
> 新的饼: > > 等备案完成后,在我的服务器上我会做一个简单的自动化(cron 用lwmbs构建),自动构建常见风味的php二进制/micro SAPI二进制,通过oss/cdn提供下载。当然还得加个免责声明:我保证不主动添加bug/后门,但我没有能力彻底审查所用到的源代码,不保证不包含bug/后门,你可以根据你对我和我所用的开源项目的信任程度选择是否使用这些二进制。 > > 自定义裁剪二进制(mbs)那个饼一时半会 三时两会都圆不上 实在没人没精力搞 原上了一些:https://bin.dixyes.cn/flavors
给装了新版本qqnt 然后装16183无法接受消息的人: **这会清空聊天记录啥的** 删掉`C:\Users\\Documents\Tencent Files` 重启qq就能用了 不需要清除ll数据目录
at [document 2.5.6.2](https://docs.buildbot.net/current/manual/configuration/workers.html#limiting-concurrency) > In [Worker For Builders](https://docs.buildbot.net/current/developer/master-worker.html#worker-for-builders) concept only one build from the same builder would run on the worker. but how [virtual builders](https://docs.buildbot.net/latest/manual/configuration/builders.html#virtual-builders) build at same time?
中文文档施工中,内容很少; API参考是自动生成的,从注释里提取的。 因为实现多语言支持太麻烦了 中文API参考一直没有实现,如果你有能力,欢迎向https://github.com/toastrun/docs.toast.run/tree/master/phpdoc2md 做贡献 也欢迎给文档提交贡献:https://github.com/toastrun/docs.toast.run/tree/master/jekyll/
> 问个无关的问题哈。Swoole 是通过 hook 阻塞方法实现的协程调度,Swow 是怎么做到遇到 sleep 这样的阻塞方法发生协程调度的? 我不太清楚你说的hook是指什么 如果指的是php函数“zif_sleep()” 被换成了sw\*的函数"zif_sw\*_sleep()" 那sw\*的做法是一致的 如果你问的是实现它们的东西: php本身是调用sleep(unix)/Sleep函数(windows),操作系统会暂停当前线程,吧cpu用于其他线程 swow是通过注册libuv(libcat)的回调来实现: libuv则是通过epoll、iouring、kqueue、iocp等异步io机制注册回调,然后libcat选择去执行另一个(可能是sleep完事的 可能是fd可读的)协程 swoole我不太清楚,估摸着也大差不差 只不过中间层是libswoole
目测多半是curl版本不匹配,可以考虑在它提供的版本上自行构建: https://docs.toast.run/swow/chs/install.html 或者使用这个版本swow连接到的php: https://windows.php.net/downloads/releases/php-8.0.28-nts-Win32-vs16-x64.zip