最近我们发布了Swoole-Cliv5.0.2,这个版本增加了opcache扩展,使swoole-cli内置php-fpm,cli-http-服务器也可以用于生产,而不仅仅是用于测试。目前swoole-cli支持5种环境的二进制包供大家选择:Linuxx86-64Linuxarm64(aarch64)WindowsCygWinx86-64macOSarm64(aarch64,AppleM1/M2)macOSx86-64下载地址:https:///www.swoole.com/downloadSwoole-Cli完全静态编译,不依赖任何动态链接库,可以直接下载到任何操作系统使用,无需额外的第三方包。在Docker/K8s环境下也特别方便。可以使用最简单的alpinelinux基础镜像,然后安装swoole-cli构建镜像。最终图像只有100M-200M。添加Opcache扩展swoole-cli--riopcacheopcacheVersion=>8.1.12在5.0.2版本中,swoole-cli集成了php-fpm和cli-http-server,但由于不支持opcache,只能在测试环境下使用扩大。在新的5.0.2版本中,opcache也被静态编译到了swoole-cli二进制程序中。这样就可以使用opcache和opcache.jit对内置的php-fpm和cli-http-server服务进行加速,性能达到生产可用。加强Cli-Http-Server在5.0.2版本中,我们还加强了PHP内置的web服务器。更新内容包括:通过-W<进程数>启动多个工作进程,并添加进程管理器。工作进程异常退出后,可以重新启动一个新的进程。通过-o设置请求日志文件的路径。在请求日志中添加处理耗时信息。在写日志的时候使用flock加锁,防止多进程写日志时可能出现的混乱。删除选择。直接使用accept系统调用,避免惊动大量工作进程,造成惊群效应浪费系统资源。使用-dcli_server.color=onini参数设置日志颜色。使用PHP_CLI_SERVER_WORKERS=Nswoole-cli-S环境变量设置工作进程数。新增使用-dcli_server.log_level=0ini参数设置日志级别htf@htf-ThinkPad-T470p:~/workspace$swoole-cli-hUsage:swoole-cli[options][-f][--][args...]swoole-cli[options]-r[--][args...]swoole-cli[options][-B]-R[-E][--][args...]swoole-cli[options][-B]-F[-E][--][args...]swoole-cli[options]]-P--fpm-configswoole-cli[options]-S:[-tdocroot][router]swoole-cli[options]--[args...]swoole-cli[options]-a-a运行方式交互式shell(需要readline扩展)-P与fpm一起运行-S:与内置Web服务器一起运行。-c|在此目录中查找php.ini文件-n将不使用任何配置(ini)文件-dfoo[=bar]定义INI条目foo值为'bar'-e生成扩展信息fordebugger/profiler-f解析并执行。-h此帮助-iPHP信息-l仅语法检查(lint)-m显示在模块中编译-r不使用脚本标签运行PHP-B运行PHP在处理输入行之前-R为每个输入行运行PHP-F为每个输入行解析并执行-E在之后运行PHPr处理所有输入行-H隐藏来自外部工具的任何传递参数。-U更新swoole-cli到最新版本-t为内置web服务器指定文档根目录。-W指定内置网络服务器的工人数。-o为内置Web服务器指定日志文件路径。-s输出HTML语法高亮源。-v版本号-w带有去除注释和空格的输出源。-z<文件>加载Zend扩展<文件>。args...传递给脚本的参数。当第一个参数以-开头或从标准输入读取脚本时使用--args--ini显示配置文件名--rf显示有关函数的信息。--rc显示有关类显示有关扩展名的信息。--rz显示有关Zend扩展的信息。--ri显示扩展的配置。添加readline扩展新增readline扩展,使用swoole-cli-a交互式终端时,获得自动补全的能力