在php中怎么打开OpenSSL

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

背景

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

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

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

1. 开启OpenSSL扩展

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

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

go 复制代码
php -m | grep openssl

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

对于基于Debian或Ubuntu的系统,可以使用以下命令安装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

点击左下角查看更多

相关推荐
张张123y6 分钟前
后端第六课:Python 语法速通(0 基础入门,AI 应用开发的第一门语言)
开发语言·人工智能·python·ai·后端开发
Want5958 分钟前
Python跳动的爱心①
开发语言·python·数学建模
ydjs678899-bot1 小时前
您的Next.js中间件匹配器配置可能会跳过您认为它保护的路由
开发语言·javascript·中间件
Chengbei111 小时前
JsOwl|AI 赋能 JS 敏感信息扫描器,AST + 正则、source‑map 源码还原、登录态爬虫输出交互式 HTML 报告
开发语言·javascript·网络·人工智能·爬虫·网络安全·自动化
David猪大卫1 小时前
【C++修炼】string类:string类的模拟实现
c语言·开发语言·数据结构·c++·经验分享·笔记·学习
geovindu1 小时前
rust: Iterator Pattern
开发语言·后端·设计模式·rust·行为模式·迭代器模
SDWAN_Cheap1 小时前
深度解析什么是CDN加速:从原理到实践的技术拆解
开发语言·cdn加速
鬼手点金1 小时前
模型即 Agent:当模型本身成为产品
开发语言·前端·人工智能·python·机器学习
染指11102 小时前
147.Agent-LangGraph归并函数
开发语言·人工智能·python·langchain·agents
Elastic 中国社区官方博客2 小时前
教程:监控 Java 应用
java·开发语言·数据库·elasticsearch·搜索引擎·全文检索