PHP中OpenSSL扩展库的全面指南:实现加密、解密与安全通信

将逻辑思维转化为代码的技术博主

PHP中OpenSSL扩展库的全面指南:实现加密、解密与安全通信

OpenSSL 扩展简介

在PHP中,OpenSSL扩展库是用于实现安全通信的加密和解密功能的扩展。

OpenSSL扩展库可以进行各种加密操作,如数据加密、解密、数字签名等。

此外,OpenSSL扩展库还支持证书生成和验证,以及各种加密算法,例如对称加密算法AES和非对称加密算法RSA。

OpenSSL扩展库对于实现安全数据传输、身份验证等应用场景非常有用。

例如,您可以使用 OpenSSL 扩展创建安全的 HTTPS 连接,确保数据在传输过程中加密。

此外,通过使用OpenSSL扩展,还可以生成数字证书,实现Web服务器上的HTTPS连接,保证网站的安全。

总的来说,OpenSSL扩展库是PHP中功能强大的加解密工具,可以用来实现各种安全应用场景。

应用场景

当你在PHP中使用openssl功能时,如果没有正确开启,会出现以下情况!

如图所示

本质是环境中缺少openssl依赖的扩展库。

所以这个时候你其实可以先检查一下你的php配置

echo phpinfo();

如图所示

您可以检查 OpenSSL 支持选项。如果你看到disabled,说明你没有正确启用它,所以你会得到上面奇怪的错误!

启用 OpenSSL 扩展

要在PHP中使用OpenSSL扩展库,首先需要在您的服务器或本地环境中安装OpenSSL库

其实我们安装的php7.4.32已经默认打包安装了所有相关文件。

我们只需要进行一些相关的配置和文件修改即可!

这里,因为我们手动安装了php和其他php集成环境,所以是不一样的,因为其他集成环境可能会默认自动开启OpenSSL的所有功能!

那么具体的详细步骤如下!

修改php.ini

找到你自己安装的php配置文件,别找错文件了!

如图所示

用一些常用的编辑器打开它!

我这里使用的是phpStorm,方便查看!

如图所示

请注意,extension_dir 配置选项还必须指定为正确的 ext 目录路径。

如图所示

那么很多人就认为只要一步就完成了!

但还是会提示OpenSSL扩展库功能无法使用!

此时我们还有一些工作要做!

将相关DLL文件复制到指定目录

php7.4版本之后,我们需要将libcrypto-1_1-x64.dll和libssl-1_1-x64.dll这两个DLL文件复制到你的Apache安装环境的bin目录下!

因为在php5.x版本中,你可能会将libeay32.dll和ssleay32.dll复制到apache的bin目录下,但是在php7.x版本中,它们被替换为libcrypto-1_1-x64.dll和libssl-1_1-x64 .dll。文件!

那么这两个文件在哪里呢?

其实就是在我们安装的php7.4.32的根目录下!

如图所示

然后将这两个dll文件复制到你安装的apache安装目录下的bin目录下!

我这里也手动安装了apache。

目录是:D:\apache 2.4.54\Apache24\bin 这是我的路径

如图所示

那么为了确保万无一失,我们还需要做一些小修改!

例如:你最好检查Apache中conf文件中的LoadModule ssl_module module/mod_ssl.so是否开启

另外,最好将libcrypto-1_1-x64.dll、libssl-1_1-x64.dll、php_openssl.dll这三个DLL文件分别复制到以下windows系统目录下!

C:\Windows\System32
C:\Windows\SysWOW64

php_openssl.dll文件默认存在于php的ext目录下。

如图所示

然后将这3个DLL文件复制到windows系统目录下

如图所示

安装完成后,我们可以在PHP.ini配置中启用OpenSSL扩展

最后,我们重新启动 apache、phpStorm 和操作系统。我建议重新启动它们,然后再次执行 phpinfo()。

可以看到OpenSSL模块启用了OpenSSL支持

如图所示

现在您可以通过OpenSSL的相关函数和方法来使用OpenSSL提供的功能和方法,并且不再报错!

大家的支持是我前进的动力!

如果文章对您有帮助,请点赞

你可能想看:
« 上一篇
下一篇 »

相关推荐

php实时推送,php实地培训

2026年10月05日

53阅读

php乱码出现问号的原因,php乱码出现问号的原因有哪些

2026年10月05日

44阅读

php一句话木马,一句话木马ctf

2026年10月05日

48阅读

php获取数组长度,php中如何获取数组的长度

2026年10月05日

50阅读

php面试题库及答案,php程序员面试真题库

2026年10月05日

47阅读

phpcontent-type修改,php源码二次修改需要多少钱

2026年10月05日

42阅读