当前位置: 首页 > 工具软件 > c-ares > 使用案例 >

php启用 asynchdns,PHP重新动态编译Curl扩展添加异步DNS支持c-ares

张鹏鹍
2023-12-01

和pycurl支持异步DNS支持c-ares类似,请先确定Libcurl是否已支持异步DNS解析c-ares,如不支持可升级libcurl支持异步DNS解析c-ares。

理论上的libcurl更新添加支持异步DNS解析后,将库文件通过ldconfig添加到系统动态库,如果大版本号和之前版本相同,可以不用重新编译Php curl扩展已支持异步DNS,因为PHP curl依赖libcurl会自动选择版本较高的lib。

如查看系统共享库中的Libcurl:ldconfig -p|grep curl

libcurl.so.4 (libc6,x86-64) => /usr/local/curl/lib/libcurl.so.4

libcurl.so.4 (libc6,x86-64) => /usr/lib64/libcurl.so.4

libcurl.so (libc6,x86-64) => /usr/local/curl/lib/libcurl.so

libcurl.so (libc6,x86-64) => /usr/lib64/libcurl.so

然后查看php curl扩展的共享库依赖,可见已自动选择新编译的libcurl.so.4:ldd /usr/lib64/php/modules/curl.so|grep curl

libcurl.so.4 => /usr/local/curl/lib/libcurl.so.4 (0x00007f406f0f9000)

不过为了稳定可以重新编译下php curl扩展,本文PHP为yum安装,如果是源码安装的可参考:PHP动态编译添加IMAP模块支持。

查看已安装的PHP版本,并下php -v

PHP 5.5.21 (cli) (built: Jan 21 2015 15:35:14)

Copyright (c) 1997-2014 The PHP Group

Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies

下载相应版本的源码并重新编译curl扩展:yum install php-devel

wget https://github.com/php/php-src/archive/php-5.5.21.tar.gz

tar zxvf php-5.5.21.tar.gz

cd php-src-php-5.5.21/ext/curl/

phpize

./configure --with-curl=/usr/local/curl

查看当前PHP CURL是否已支持异步DNS支持:php -i|grep AsynchDNS

AsynchDNS => Yes

 类似资料: