当前位置:论坛首页 > Linux面板 > 讨论

【已完成】Debian 10.x 宝塔面板PHP7.4重新编译升级OpenSSL 1.1.1n

发表在 Linux面板2023-4-26 11:56 [复制链接] 8 2596

我使用腾讯云的轻量应用云(香港),安装Debian 10.2,为了保证保持系统最新,我在安装宝塔之前执下了以下命令:
  1. apt-get update -y
复制代码
  1. apt-get full-upgrade -y
复制代码
我们先查看一下当前系统的OpenSSL版本,执行以下命令:
  1. openssl version -a
复制代码

宝塔安装php小于8.0版本一般都会安装openssl 1.0.2r,我在宝塔论坛上查了很多贴,大多数人都没有安装成功,由于目前系统中默认安装了OpenSSL 1.1.1n,我就不再更新系统中的OpenSSL了,如果你系统仍然是1.0.xx的,请执行以下命令进行更新或安装:
  1. wget https://www.openssl.org/source/openssl-1.1.1n.tar.gz
复制代码
  1. tar xzvf openssl-1.1.1n.tar.gz
复制代码
  1. cd openssl-1.1.1n
复制代码
  1. ./config -Wl,--enable-new-dtags,-rpath,'$(LIBRPATH)'
复制代码
  1. make
复制代码
  1. sudo make install
复制代码
  1. openssl version -a
复制代码


1.png
通过openssl version -a 查到的信息中的OPENSSLDIR就是我们需要的openssl配置路径目录,我查到我的目录是:/usr/lib/ssl

编辑 /www/server/panel/install/php.sh 脚本文件,找到 Install_Curl(),编辑位置如下图所示:
2.png

编辑脚本文件,找到Install_Configure(),编辑位置如下图所示:
3.png
最后执行以下命令重新安装PHP7.4
  1. bash -x /www/server/panel/install/php.sh install 74
复制代码

安装完成后,我们查询一下PHP7.4的phpinfo(),看看是否更新成功,如下图所示:
4.png
升级成功了,祝你们好运!
使用道具 举报 只看该作者 回复
发表于 2023-5-7 18:05:30 | 显示全部楼层
腾讯云的CentOS  这方法测试不可以用
使用道具 举报 回复 支持 反对
发表于 2023-5-7 18:09:44 | 显示全部楼层
bash -x /www/server/panel/install/php.sh install 74 和你一样的环镜到这步就安装不了了
使用道具 举报 回复 支持 反对
发表于 2023-7-20 09:50:06 | 显示全部楼层
其实不必要这么麻烦

只要将下载的 openssl 1.1.1 安装在 /usr/local/openssl 目录就行
然后再执行
  1. bash -x /www/server/panel/install/php.sh install 74
复制代码


完整过程

1、下载 openssl
  1. wget https://www.openssl.org/source/old/1.1.1/openssl-1.1.1t.tar.gz
复制代码
2、然后解压
  1. tar -zxvf openssl-1.1.1t.tar.gz
复制代码
3、进入目录,注意 --prefx=/usr/local/openssl
  1. cd openssl-1.1.1t && ./config --prefix=/usr/local/openssl
复制代码
4、编译并安装
  1. make -j4 && make install
复制代码
注:make install 后openssl 不要再执行其他操作和配置,不然会替换系统现有的openssl

5、重新安装 php7.4
  1. bash -x /www/server/panel/install/php.sh install 74
复制代码
等待安装完,查看 phpinfo()  openssl 已经是 1.1.1了

谢谢,按照你的方法完成安装OpenSSL Library Version, OpenSSL Header Version 这两个版本不一致。  发表于 2023-10-16 18:39
使用道具 举报 回复 支持 反对
发表于 2023-10-17 15:40:30 | 显示全部楼层
本帖最后由 武汉宇轩 于 2023-10-17 21:21 编辑

./config -Wl,--enable-new-dtags,-rpath,'$(LIBRPATH)' enable-ec enable-ecdh enable-ecdsa enable-sm2 enable-sm3 enable-sm4
,开启SM2,SM3,SM4,关闭SSL验证,不然http不支持
使用道具 举报 回复 支持 反对
发表于 2024-1-26 20:29:51 | 显示全部楼层
最简单的办法还是装个8.0以上版本然后替换更改的位置代码openssl改成openssl111
使用道具 举报 回复 支持 反对
发表于 2024-2-24 15:58:11 | 显示全部楼层
宝塔用户_iyipgx 发表于 2023-7-20 09:50
其实不必要这么麻烦

只要将下载的 openssl 1.1.1 安装在 /usr/local/openssl 目录就行

确实,如果指定或替换原来系统上的/usr/local/openssl版本确实可以通过此方法实现。
使用道具 举报 回复 支持 反对
发表于 2024-2-24 16:00:36 | 显示全部楼层
宝塔用户_marbcz 发表于 2024-1-26 20:29
最简单的办法还是装个8.0以上版本然后替换更改的位置代码openssl改成openssl111 ...

但并不是所有程序都适用于php8,有些现成的php程序系统仅支持php7的
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

企业版年付运维跟进群

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急问题处理

论坛响应时间:10分钟

问题处理方式:1对1处理(优先)

工作时间:白班:9:00 - 18:00

工作时间:晚班:18:00 - 24:00

立即付费处理

工作时间:09:00至24:00

快速回复 返回顶部 返回列表