linux环境下安装PHP的OpenSSL扩展的方法讲解

  • Post category:Linux

下面是关于如何在Linux环境下安装PHP的OpenSSL扩展的方法讲解:

1. 确认环境

在开始安装之前,你需要确认以下几点:
– 已经安装PHP的开发环境
– 已经安装了OpenSSL库文件及其开发环境

2. 安装OpenSSL扩展

安装OpenSSL扩展主要分为编译源码和使用包管理器进行安装两种方法。

2.1 编译源码安装

2.1.1 下载源码

你需要从PHP的官网下载PHP OpenSSL扩展的源码,或者从开源代码库中下载。下载完成后,解压到你想要安装的目录下。

2.1.2 编译

首先进入解压目录,然后使用下面的命令编译:

cd ext/openssl
/path/to/phpize
./configure --with-php-config=/path/to/php-config
make

2.1.3 安装扩展

编译完成后,使用下面的命令安装扩展程序:

make install

2.2 使用包管理器进行安装

如果你的系统支持包管理器,那么你可以通过包管理器来安装OpenSSL扩展。

2.2.1 Ubuntu/Debian 系统:

使用下面的命令来安装扩展程序:

sudo apt-get install php-openssl

2.2.2 CentOS/RHEL 系统:

使用下面的命令来安装扩展程序:

sudo yum install php-openssl

3. 配置

安装完成后,你需要修改PHP的配置文件,添加OpenSSL扩展到PHP的扩展库中。

3.1 找到php.ini文件

可以使用下面命令来查找php.ini文件的位置:

php -i|grep php.ini

3.2 修改php.ini文件

打开php.ini文件,并添加以下代码到末尾:

extension=openssl.so

4. 测试扩展

安装完成后,你需要测试OpenSSL扩展是否正常。

4.1 创建测试文件

在你的网站根目录下创建一个test.php文件,并添加以下代码到文件中:

<?php
if (!extension_loaded('openssl')) {
echo 'OpenSSL 扩展没有正确载入!';
}
else {
echo 'OpenSSL 扩展已成功载入!';
}
?>

4.2 测试

访问你的test.php文件,如果输出了“OpenSSL 扩展已成功载入!”,则表示OpenSSL扩展已经安装成功。

示例说明

示例1:Ubuntu 18.04 下使用 apt-get 安装 OpenSSL 扩展

假设你的系统是Ubuntu 18.04,使用下面的命令来安装扩展程序:

sudo apt-get install php-openssl

安装完成后,打开配置文件/etc/php/7.2/apache2/php.ini,添加以下代码到末尾:

extension=openssl.so

重启Apache服务器后,在浏览器中访问test.php页面,如果输出了“OpenSSL 扩展已成功载入!”,则表示OpenSSL扩展已经安装成功。

示例2:CentOS 7 下使用编译源码安装 OpenSSL 扩展

假设你的系统是CentOS 7,使用下面的命令来安装编译环境:

sudo yum install gcc gcc-c++ make autoconf libtool automake libxml2-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel openssl-devel curl-devel bzip2-devel readline-devel libXpm-devel libicu-devel libxslt-devel

下载PHP源码,然后解压:

wget -c http://uk1.php.net/get/php-7.4.3.tar.bz2/from/this/mirror -O php-7.4.3.tar.bz2
tar -xvf php-7.4.3.tar.bz2

进入源码目录,开启OpenSSL扩展的编译选项,然后执行编译:

cd php-7.4.3/ext/openssl
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install

在php.ini中添加扩展:

vi /usr/local/php/lib/php.ini
extension=openssl.so

最后重启PHP-FPM服务:

systemctl restart php-fpm

在浏览器中访问test.php页面,如果输出了“OpenSSL 扩展已成功载入!”,则表示OpenSSL扩展已经安装成功。