🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 编译参数 ## ⚠️新手警告: 不在此列表中的编译参数, 任何情况都请不要使用 这里是`./configure`编译配置的额外参数,用于开启某些特性 > `1.8.7`或更高版本不再需要设置`--enable-async-mysql`和`--enable-async-httpclient`,`async_mysql`和`async_httpclient`改为内置 > `4.0.1`或更高版本后不再需要设置`--enable-coroutine` ------ ## ☺ 通用参数 --enable-sockets ---- 增加对`sockets`资源的支持。开启此参数,`swoole_event_add`就可以添加`sockets`扩展创建的连接到`swoole`的事件循环中。另外`Server`和`Client`的`getSocket()`方法也需要依赖此编译参数。 >依赖`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`字样, 实际上是一样的 --with-hiredis-dir ---- 增加异步Redis客户端支持 并 指定`hiredis`库的路径, 需跟上路径参数: `--with-hiredis-dir=/opt/hiredis/` > 需要 `4.2.0` 及以上版本 --enable-mysqlnd ---- 启用`mysqlnd`支持,启用`swoole_mysql::escapse`方法。启用此参数后,`PHP`必须有`mysqlnd`模块,否则会导致`swoole`无法运行。 >依赖`mysqlnd`模块 --enable-coroutine-postgresql ---- 启用协程Postgresql客户端 >依赖libpq库 --with-libpq-dir ---- 指定`libpq`库的路径. `--with-libpq-dir=/etc/postgresql` <br><br> ## ☻ 已废弃的编译参数 --enable-coroutine ---- > 4.0.1版本后移除了此编译选项, 默认强制打开, 可使用$server->set动态开关 > enable_coroutine动态配置请见[文档](https://wiki.swoole.com/wiki/page/949.html) 启用协程 <br><br> ##  Debug参数 --enable-swoole-debug | --enable-debug-log(>=4.2.0) ---- 打开内核DEBUG日志。**生产环境不可以启用** --enable-trace-log ---- 打开追踪日志,开启此选项后swoole将打印各类细节的调试日志, 仅内核开发时使用 <br><br> ## ☠️以下试验性质选项轻易绝不要开启 --enable-ringbuffer ---- 开启`RingBuffer`内存池 > 此设置为试验性质,主要用于提升性能,生产环境请不要开启 --enable-timewheel ---- 启用时间轮算法,优化心跳检测性能 > 此设置为试验性质 <br><br> ## ☠️以下选项需要在你知道它是如何工作的时候方可添加 --enable-asan --- 详情: https://wiki.swoole.com/wiki/page/939.html 使用 asan 内存检测 <br><br> ## 以下选项是编译PHP而不是Swoole时使用的 --enable-swoole --- 使用swoole扩展 --enable-swoole-static --- 将Swoole静态编译内嵌到PHP