Swoole-Cli v5.0.2 增加 opcache/readline 扩展,强化 Cli-Server

最近我们发布了 Swoole-Cli v5.0.2,这个版本增加了 opcache 扩展,使得 swoole-cli 内置的 php-fpmcli-http-server 也可以用于生产环境了,而不仅仅是作为测试使用。

目前 swoole-cli 支持了 5 种环境的二进制包可供大家选择:

  • Linux x86-64
  • Linux arm64aarch64
  • Windows CygWin x86-64
  • macOS arm64aarch64Apple M1/M2
  • macOS x86-64
下载地址:https://www.swoole.com/download

Swoole-Cli 是完全静态编译的,不依赖任何动态链接库,可直接下载到任意操作系统上使用,而不需要额外其他第三方包。

Docker/K8s 环境下也尤为便利,可使用最简化的 alpine linux 基础镜像,然后安装 swoole-cli 构建镜像,最终的镜像只有 100M-200M

增加 Opcache 扩展

swoole-cli --ri opcache

opcache

Version => 8.1.12

5.0.2 版本中 swoole-cli 集成了 php-fpmcli-http-server ,但由于未支持 opcache 扩展,所以仅可用于测试环境。新的 5.0.2 版本中将 opcache 也静态编译到了 swoole-cli 二进制程序中。

这样内置的 php-fpmcli-http-server 服务就可以使用 opcacheopcache.jit 进行加速,性能达到生产可用。

强化 Cli-Http-Server

5.0.2 版本中我们还强化了 PHP 的内置 Web 服务器,更新内容包括:

  • 通过 -W <进程数量> 启动多个工作进程
  • 添加了进程管理器,工作进程异常退出后,可以重新拉起新的进程
  • 通过 -o 设置请求日志文件的路径
  • 在请求日志中添加了处理耗时信息
  • 写日志时使用 flock 加锁,防止多进程写日志可能出现的错乱
  • 去掉了 select,直接使用 accept 系统调用,避免启动大量工作进程发生惊群效应浪费系统资源
  • 保留使用 -d cli_server.color=on ini 参数设置日志颜色
  • 保留使用 PHP_CLI_SERVER_WORKERS=N swoole-cli -S 环境变量设置工作进程数量
  • 新增使用 -d cli_server.log_level=0 ini 参数设置日志等级
htf@htf-ThinkPad-T470p:~/workspace$ swoole-cli -h
Usage: 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-config 
   swoole-cli [options] -S : [-t docroot] [router]
   swoole-cli [options] -- [args...]
   swoole-cli [options] -a

  -a               Run as interactive shell (requires readline extension)
  -P               Run with fpm
  -S : Run with built-in web server.
  -c | Look for php.ini file in this directory
  -n               No configuration (ini) files will be used
  -d foo[=bar]     Define INI entry foo with value 'bar'
  -e               Generate extended information for debugger/profiler
  -f         Parse and execute .
  -h               This help
  -i               PHP information
  -l               Syntax check only (lint)
  -m               Show compiled in modules
  -r         Run PHP  without using script tags 
  -B   Run PHP  before processing input lines
  -R         Run PHP  for every input line
  -F         Parse and execute  for every input line
  -E     Run PHP  after processing all input lines
  -H               Hide any passed arguments from external tools.
  -U               Update swoole-cli to the latest version
  -t      Specify document root  for built-in web server.
  -W   Specify number of workers  for built-in web server.
  -o     Specify log file path  for built-in web server.
  -s               Output HTML syntax highlighted source.
  -v               Version number
  -w               Output source with stripped comments and whitespace.
  -z         Load Zend extension .

  args...          Arguments passed to script. Use -- args when first argument
                   starts with - or script is read from stdin

  --ini            Show configuration file names

  --rf       Show information about function .
  --rc       Show information about class .
  --re       Show information about extension .
  --rz       Show information about Zend extension .
  --ri       Show configuration for extension .

Swoole-Cli v5.0.2 增加 opcache/readline 扩展,强化 Cli-Server_第1张图片

Swoole-Cli v5.0.2 增加 opcache/readline 扩展,强化 Cli-Server_第2张图片

Swoole-Cli v5.0.2 增加 opcache/readline 扩展,强化 Cli-Server_第3张图片

Swoole-Cli v5.0.2 增加 opcache/readline 扩展,强化 Cli-Server_第4张图片

增加 readline 扩展

新增了 readline 扩展,在使用 swoole-cli -a 交互式终端时,获得自动补全的能力。

Swoole-Cli v5.0.2 增加 opcache/readline 扩展,强化 Cli-Server_第5张图片

你可能感兴趣的:(phpswoole)