当前位置: 首页 > article >正文

在php中怎么打开OpenSSL

1029e8557b1eb45f6adcf5c3321fc9a5.jpeg

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

背景

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

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

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

1. 开启OpenSSL扩展

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

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

php -m | grep openssl

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

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

sudo apt-get install php-openssl

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

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,就会找出这个文件在你系统中的具体位置

/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文件并找到以下行

;extension=openssl

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

extension=openssl

保存文件并关闭

  1. 重启服务器

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

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

sudo service apache2 restart

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

sudo service nginx restart

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

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

验证OpenSSL扩展是否已开启

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

– 生成RSA私钥和公钥对:

openssl genpkey -algorithm RSA -out private.key
openssl rsa -pubout -in private.key -out public.key

– 创建自签名证书:

openssl req -new -x509 -sha256 -days 365 -key private.key -out certificate.crt

– 对数据进行加密:

openssl enc -aes-256-cbc -salt -in input.txt -out encrypted.txt -k password

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

openssl enc -d -aes-256-cbc -in encrypted.txt -out decrypted.txt -k password

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

总结

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

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

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

洞见写作

2025-01-23

250a32f7f81f1d6020fb7e3cdc6e8f6a.jpeg

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

2025-01-21

d3c8bee0915d0b51c755e2be83911e2d.jpeg

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

2025-01-20

cb11c65f819038f3623af59779f4087f.jpeg

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

2025-01-19

9f2f2522be11d43c958543cd69aedc71.jpeg

富裕属于装满快乐的人

2025-01-17

7363d02ad84bbc3c298d214af0a5d377.jpeg

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

2025-01-13

02e8f33b69ca176421a468d4bbd2be32.jpeg

2024-年终总结

2024-12-31

7888330a8025631f0a2a7039096514ea.jpeg

20b8a050a9f41657e2e92a609ca87b2e.png

点击左下角查看更多

d00a9e361bdacc9b16c981034696122a.gif


http://www.kler.cn/a/520080.html

相关文章:

  • AI如何帮助解决生活中的琐碎难题?
  • 动手学图神经网络(5):使用Cluster - GCN方法来扩展GNNs
  • 一次端口监听正常,tcpdump无法监听到指定端口报文问题分析
  • 工业数据分析:解锁工厂数字化的潜力
  • 速通 AI+Web3 开发技能: 免费课程+前沿洞察
  • 【Matlab高端绘图SCI绘图模板】第05期 绘制高阶折线图
  • 云服务器快速安装docker, mysql,redis教程
  • 闲来无事复习下基础算法——递归的魅力
  • 【论文阅读】RAG-Reward: Optimizing RAG with Reward Modeling and RLHF
  • Golang并发机制及CSP并发模型
  • mybatis是什么?有什么作用?mybatis的简单使用
  • 低代码系统-产品架构案例介绍、得帆云(八)
  • C#加密方式
  • IoTDB 2025 春节值班与祝福
  • 01.K临近算法
  • VSCode安装+配置
  • Unity3D连接PLC的原理
  • 头歌实训作业 算法设计与分析-贪心算法(第5关:求解流水作业调度问题)
  • 汇编知识点整理
  • 在WSL使用gnome终端
  • TCP协议:互联网数据传输的守护者
  • Cpp::特殊类的设计(35)
  • Flutter_学习记录_基本组件的使用记录
  • 机器学习:支持向量机
  • 项目升级Sass版本或升级Element Plus版本遇到的问题
  • 天聚地合:引领API数据流通服务,助力数字经济发展