curl 7.79.0存在BUG,CentOS7+WHM/cPanel环境如何升级PHP扩展curl到7.79.1
CentOS 7 + WHM/cPanel 环境编译PHP curl扩展(7.79.1版本)操作步骤
1. 完整编译安装libcurl 7.79.1
你之前仅生成curl CLI工具是因为编译时未保留开发相关文件,按以下步骤操作即可:
- 卸载系统原有curl相关包(适配cPanel仓库排除规则):
yum remove curl libcurl -y --disableexcludes=all - 下载curl 7.79.1源码包,解压后进入源码目录执行编译安装:
./configure --prefix=/usr/local/curl-7.79.1 --enable-shared --enable-static --with-opensslmake -j$(nproc)make install - 配置动态库加载规则,让系统识别新的libcurl:
echo "/usr/local/curl-7.79.1/lib" > /etc/ld.so.conf.d/curl-7.79.1.confldconfig - 验证curl版本:执行
curl --version确认输出为7.79.1即可。
2. 编译对应PHP版本的curl扩展
WHM/cPanel通过EasyApache安装的PHP均存放在/opt/cpanel/ea-php[版本号]/路径下,操作前先将下文的ea-phpXX替换为你实际使用的PHP版本标识(如ea-php74、ea-php81等)。
- 下载和当前使用PHP版本完全一致的源码包,解压后进入源码内的
ext/curl目录。 - 调用对应PHP版本的phpize生成编译配置文件:
/opt/cpanel/ea-phpXX/root/usr/bin/phpize - 配置编译参数,指定刚才安装的libcurl路径:
./configure --with-curl=/usr/local/curl-7.79.1 --with-php-config=/opt/cpanel/ea-phpXX/root/usr/bin/php-configmake -j$(nproc)make install - 执行
make install后会输出curl.so的存放路径,确认该文件存在即可。
3. 启用新编译的curl扩展
- 编辑对应PHP版本的扩展配置文件,添加加载规则:
echo "extension=curl.so" > /opt/cpanel/ea-phpXX/root/etc/php.d/20-curl.ini - 重启对应服务生效:
/scripts/restartsrv_httpd/scripts/restartsrv_nginx/scripts/restartsrv_php-fpm
4. 验证升级结果
执行/opt/cpanel/ea-phpXX/root/usr/bin/php -i | grep "cURL Information",确认输出的cURL版本为7.79.1即为操作成功。
注意:如果有多个PHP版本需要适配,每个版本都需要单独重复第二步到第四步的操作。
内容的提问来源于stack exchange,提问作者Nagytalp
相关产品推荐
相关产品推荐

