You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在RedHat系统中编译PHP 7.2.5并关联自定义编译的OpenSSL 1.1.0h

编译PHP 7.2.5并绑定自定义OpenSSL 1.1.0h的实操步骤

我之前也折腾过在RHEL上编译PHP绑定自定义OpenSSL的场景,给你整理了一套靠谱的步骤,照着来应该没问题:

首先,如果你之前尝试过编译PHP,先清理源码目录的残留文件,避免旧配置干扰:

cd php-7.2.5
make clean
rm -rf config.cache

1. 设置环境变量,让编译工具找到你的自定义OpenSSL

因为你把OpenSSL装在了非系统默认路径,得先告诉编译系统它在哪:

# 指定OpenSSL的pkg-config配置文件路径,这是让PHP的configure能检测到自定义版本的关键
export PKG_CONFIG_PATH=/home/user/openssl-1.1/lib/pkgconfig
# 临时添加库路径,确保编译时能找到OpenSSL的静态库
export LD_LIBRARY_PATH=/home/user/openssl-1.1/lib:$LD_LIBRARY_PATH

2. 执行PHP的configure命令,明确绑定自定义OpenSSL

用你设定的PHP_PREFIX,加上OpenSSL相关的核心参数,再搭配你需要的其他PHP功能:

PHP_PREFIX=/home/user/php-7.2
./configure \
--prefix=${PHP_PREFIX} \
--with-openssl=/home/user/openssl-1.1 \
--with-openssl-dir=/home/user/openssl-1.1/conf \
# 这里可以添加你需要的其他编译参数,比如常用的:
--enable-fpm \
--with-mysqli \
--with-pdo-mysql \
--enable-mbstring \
--enable-opcache

小提示:--with-openssl-dir 对应你编译OpenSSL时指定的--openssldir路径,这样PHP能正确找到OpenSSL的配置文件,避免后续运行时的警告。

3. 编译并安装PHP

执行编译和安装命令,建议加上-j参数利用多核加速(比如-j4用4个核心):

make -j4
make install

4. 验证编译结果

安装完成后,确认PHP真的绑定了你指定的OpenSSL版本:

${PHP_PREFIX}/bin/php -i | grep -A 5 -B 5 "OpenSSL"

如果输出里显示OpenSSL Version => OpenSSL 1.1.0h,就说明成功了!

额外注意点

  • 因为你编译OpenSSL时用了no-shared,PHP会把OpenSSL静态链接到二进制文件里,后续部署时不需要依赖系统的OpenSSL库,也不会出现版本冲突的问题。
  • 如果configure过程中提示找不到OpenSSL,先检查PKG_CONFIG_PATH的路径是否正确,或者手动指定CFLAGS和LDFLAGS:
    export CFLAGS="-I/home/user/openssl-1.1/include"
    export LDFLAGS="-L/home/user/openssl-1.1/lib"
    

内容的提问来源于stack exchange,提问作者devopsfun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:57:19