在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 [email protected] --with-openssl=/usr/local/opt/[email protected]

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

点击左下角查看更多

相关推荐
皓月盈江1 小时前
Linux电脑本机使用小皮面板集成环境开发调试WEB项目
linux·php·web开发·phpstudy·小皮面板·集成环境·www.xp.cn
格林威2 小时前
Baumer工业相机堡盟工业相机的工业视觉中为什么偏爱“黑白相机”
开发语言·c++·人工智能·数码相机·计算机视觉
橙子199110162 小时前
在 Kotlin 中什么是委托属性,简要说说其使用场景和原理
android·开发语言·kotlin
androidwork2 小时前
Kotlin Android LeakCanary内存泄漏检测实战
android·开发语言·kotlin
学地理的小胖砸2 小时前
【Python 基础语法】
开发语言·python
DanB244 小时前
Java笔记4
java·开发语言·笔记
Dddle14 小时前
C++:this指针
java·c语言·开发语言·c++
studyer_domi4 小时前
Matlab 234-锂电池充放电仿真
开发语言·matlab
yuanpan4 小时前
.net/C#进程间通信技术方案总结
开发语言·c#·.net
吃面不喝汤664 小时前
破解 Qt QProcess 在 Release 模式下的“卡死”之谜
开发语言·qt