编译参数

⚠️新手警告: 不在此列表中的编译参数, 任何情况都请不要使用

这里是./configure编译配置的额外参数,用于开启某些特性

1.8.7或更高版本不再需要设置--enable-async-mysql--enable-async-httpclientasync_mysqlasync_httpclient改为内置 4.0.1或更高版本后不再需要设置--enable-coroutine


☺ 通用参数

—enable-sockets

增加对sockets资源的支持。开启此参数,swoole_event_add就可以添加sockets扩展创建的连接到swoole的事件循环中。另外ServerClientgetSocket()方法也需要依赖此编译参数。

依赖sockets扩展

—enable-openssl

启用SSL支持

使用操作系统提供的libssl.so动态连接库

—with-openssl-dir

启用SSL支持 并 指定openssl库的路径, 需跟上路径参数: --with-openssl-dir=/opt/openssl/

—enable-http2

增加对HTTP2的支持

依赖nghttp2

—with-nghttp2-dir

增加对HTTP2的支持 并 指定nghttp2库的路径, 需跟上路径参数: --with-nghttp2-dir=/opt/nghttp2/

需要 4.2.0 及以上版本

—enable-async-redis

增加异步Redis客户端支持

依赖hiredis

4.2.x版本可能会显示redis-client而没有async字样, 实际上是一样的

4.2.6版本及以后不再需要手动安装和启用, 而是swoole自带

—with-hiredis-dir

增加异步Redis客户端支持 并 指定hiredis库的路径, 需跟上路径参数: --with-hiredis-dir=/opt/hiredis/

需要 4.2.0 及以上版本, 4.2.6版本及以后不再需要手动安装和启用hiredis, 而是swoole自带

—enable-mysqlnd

启用mysqlnd支持,启用swoole_mysql::escapse方法。启用此参数后,PHP必须有mysqlnd模块,否则会导致swoole无法运行。

依赖mysqlnd模块

—enable-coroutine-postgresql

启用协程Postgresql客户端

依赖libpq库

—with-libpq-dir

指定libpq库的路径. --with-libpq-dir=/etc/postgresql



☻ 已废弃的编译参数

—enable-coroutine

4.0.1版本后移除了此编译选项, 默认强制打开, 可使用$server->set动态开关

enable_coroutine动态配置请见文档

启用协程



 Debug参数

—enable-debug-log(>=4.2.0)

打开内核DEBUG日志。生产环境不可以启用

—enable-trace-log

打开追踪日志,开启此选项后swoole将打印各类细节的调试日志, 仅内核开发时使用



☠️以下试验性质选项轻易绝不要开启

—enable-ringbuffer

开启RingBuffer内存池

此设置为试验性质,主要用于提升性能,生产环境请不要开启

—enable-timewheel

启用时间轮算法,优化心跳检测性能

此设置为试验性质



☠️以下选项需要在你知道它是如何工作的时候方可添加

—enable-asan

详情: https://wiki.swoole.com/wiki/page/939.html

使用 asan 内存检测



以下选项是编译PHP而不是Swoole时使用的

—enable-swoole

使用swoole扩展

—enable-swoole-static

将Swoole静态编译内嵌到PHP