本书未发布

编译参数

为了更好的阅读体验,将文档从 Swoole 官方文档 搬运过来。内容比较多,我会慢慢搬运过来,也欢迎大家以提交改进的方式一起帮助我。

编译参数

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

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

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


☺ 通用参数

--enable-openssl

启用SSL支持

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

--with-openssl-dir

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

--enable-http2

开启对HTTP2的支持

依赖nghttp2库, 在v4.3.0后不再需要安装依赖, 改为内置, 但仍需要增加该编译参数来开启http2支持

--enable-mysqlnd

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

依赖mysqlnd模块

--enable-coroutine-postgresql

启用协程Postgresql客户端

依赖libpq

--with-libpq-dir

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

--enable-sockets

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

依赖sockets扩展, v4.3.2后该参数的作用被削弱了, 因为Swoole内置的Coroutine\Socket可以完成大部分事情

☻ 已废弃的编译参数

--enable-coroutine

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

enable_coroutine动态配置请见文档

启用协程

--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自带

--with-nghttp2-dir

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

需要 4.2.0 及以上版本, 在 4.3.0移除(内置了nghttp2支持)

 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

本文章首发在 LearnKu.com 网站上。
上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~