在php中怎么打开OpenSSL

(点击即可进入聊天助手)

背景

在使用php做一些项目时,有用到用户邮箱注册等,需要开启openssl的能力

php系统中openssl默认是关闭状态的,在一些低版本php系统中,有的甚至需要在服务器终端后台,手动安装

要打开OpenSSL扩展,需要进行以下步骤

1. 开启OpenSSL扩展

你需要确保你的PHP安装中已经包含OpenSSL扩展。

在终端或命令行中输入以下命令来检查OpenSSL是否已安装

go 复制代码
php -m | grep openssl

如果上述命令没有任何输出,则表示OpenSSL未安装。你可以通过以下步骤启用OpenSSL扩展

对于基于DebianUbuntu的系统,可以使用以下命令安装OpenSSL扩展

go 复制代码
sudo apt-get install php-openssl

对于macOS系统,可以使用以下命令安装OpenSSL扩展:

go 复制代码
brew install openssl
brew install php@7.4 --with-openssl=/usr/local/opt/openssl@1.1

2. 配置PHP.ini文件

一旦安装了OpenSSL扩展,你需要编辑PHP的配置文件php.ini

找到你网站所用的php对应的版本,一般都是在/www/server/php/74/etc目录下

如果你不知道当前这个文件在服务器中哪个位置,你可以用locate 文件名,进行查找

但使用这个locate 之前,需要安装这个包,使用apt install plocate安装完后,再次使用locate php.ini,就会找出这个文件在你系统中的具体位置

go 复制代码
/www/backup/file_history/www/server/php/74/etc/php.ini
/www/backup/file_history/www/server/php/74/etc/php.ini/1737557533
/www/server/php/74/etc/php.ini

最后一个才是的,第一个,第二个是历史备份记录

你自己按着图示位置去找就可以了的

打开php.ini文件并找到以下行

go 复制代码
;extension=openssl

删除行首的分号;,使其变为:

go 复制代码
extension=openssl

保存文件并关闭

  1. 重启服务器

在修改了php.ini文件后,你需要重新启动Web服务器才能使修改生效。

-- 对于Apache服务器,可以使用以下命令来重启:

go 复制代码
sudo service apache2 restart

-- 对于Nginx服务器,可以使用以下命令来重启:

go 复制代码
sudo service nginx restart

如果你是使用宝塔管理服务器,那么你直接在宝塔面板中重启服务器就可以了

找到php设置,重新载入配置项,重新启动即可

验证OpenSSL扩展是否已开启

OpenSSL提供了很多不同的命令和选项,用于执行各种加密和解密操作,生成和管理证书,以及进行安全通信等。以下是一些常用的OpenSSL命令示例:

-- 生成RSA私钥和公钥对:

go 复制代码
openssl genpkey -algorithm RSA -out private.key
openssl rsa -pubout -in private.key -out public.key

-- 创建自签名证书:

go 复制代码
openssl req -new -x509 -sha256 -days 365 -key private.key -out certificate.crt

-- 对数据进行加密:

go 复制代码
openssl enc -aes-256-cbc -salt -in input.txt -out encrypted.txt -k password

-- 对加密的数据进行解密:

go 复制代码
openssl enc -d -aes-256-cbc -in encrypted.txt -out decrypted.txt -k password

如果你开启了openssl的选项,可以测试系统中的邮件发送,证书等去验证的

总结

OpenSSL是一个功能强大的软件库,可以为你的应用程序提供安全和加密功能。

无论是生成证书、加密数据还是进行安全通信,都是需要的,用于保护网站的数据和通信安全

只要是做前后端程序开发的,对于openssl肯定是不陌生的,尤其是需要配置一些加密,解密软件,数据通信的,都需要用到这个openssl

<>

洞见写作
<>

2025-01-23

<>

一人公司-把自己当作一家公司来运营
<>

2025-01-21

<>

针对服务器磁盘爆满,MySql数据库始终无法启动,怎么解决
<>

2025-01-20

<>

成为黑马-在个性化时代中获得成长
<>

2025-01-19

<>

富裕属于装满快乐的人
<>

2025-01-17

<>

职场真话:认清自己,看懂市场,选好工作
<>

2025-01-13

<>

2024-年终总结
<>

2024-12-31

点击左下角查看更多

相关推荐
BingoGo1 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack1 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端
BingoGo2 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack2 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端
JaguarJack3 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端
BingoGo3 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
php
JaguarJack4 天前
告别 Laravel 缓慢的 Blade!Livewire Blaze 来了,为你的 Laravel 性能提速
后端·php·laravel
郑州光合科技余经理5 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
feifeigo1235 天前
matlab画图工具
开发语言·matlab
dustcell.5 天前
haproxy七层代理
java·开发语言·前端