如何在Oracle Linux 9.2中为PHP 7.4开启OpenSSL支持
启用PHP 7.4.5的OpenSSL支持(Oracle Linux 9.2)
1. 安装编译依赖包
先安装OpenSSL开发库及必要的编译工具:
dnf install openssl-devel gcc make pkg-config
(Oracle Linux 9默认使用dnf,yum命令也兼容)
2. 解决PHP 7.4.5与OpenSSL 3.x的兼容性问题
Oracle Linux 9.2默认搭载OpenSSL 3.0,但PHP 7.4.5不支持OpenSSL 3.x(PHP 7.4.20及以上版本才开始适配OpenSSL 3),直接编译会导致OpenSSL无法正常启用,可通过以下两种方式解决:
方法A:为PHP 7.4.5打OpenSSL 3兼容补丁
- 进入PHP源码目录:
cd php-7.4.5
- 下载并应用适配的兼容补丁(补丁需对应PHP 7.4版本的OpenSSL 3适配内容):
patch -p1 < php74-openssl3.patch
方法B:手动安装OpenSSL 1.1.x并指定编译路径
如果不想打补丁,可自行编译安装PHP 7.4.5支持的OpenSSL 1.1.x版本:
- 下载OpenSSL 1.1.1系列的稳定版本(如1.1.1w):
wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz tar xzf openssl-1.1.1w.tar.gz cd openssl-1.1.1w ./config --prefix=/usr/local/openssl-1.1.1 make && make install
- 配置环境变量,让PHP编译时优先识别OpenSSL 1.1.x:
export PKG_CONFIG_PATH=/usr/local/openssl-1.1.1/lib/pkgconfig export LD_LIBRARY_PATH=/usr/local/openssl-1.1.1/lib:$LD_LIBRARY_PATH
3. 重新编译PHP
- 清理之前的编译残留文件:
cd php-7.4.5 make distclean
- 执行configure命令启用OpenSSL支持(根据上述方法选择对应参数):
- 若使用方法A(打补丁后用系统OpenSSL 3):
./configure --with-openssl
- 若使用方法B(指定OpenSSL 1.1.x路径):
./configure --with-openssl=/usr/local/openssl-1.1.1
注意:如果之前编译时使用过其他自定义配置参数,需将这些参数一并追加到上述
./configure命令后,避免丢失原有配置。
- 重新编译并安装:
make make install
4. 验证配置结果
执行以下命令检查OpenSSL状态:
php -i | grep "OpenSSL support"
若输出显示OpenSSL support => enabled,则说明OpenSSL已成功启用。
内容的提问来源于stack exchange,提问作者Bruno_S
相关产品推荐
相关产品推荐

