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提供的功能和方法,并且不再报错!
大家的支持是我前进的动力!
如果文章对您有帮助,请点赞