在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

点击左下角查看更多

相关推荐
明月看潮生2 小时前
青少年编程与数学 02-020 C#程序设计基础 15课题、异常处理
开发语言·青少年编程·c#·编程与数学
你这个代码我看不懂2 小时前
Java项目OOM排查
java·开发语言
暴力求解2 小时前
C语言---动态内存管理、柔性数组
c语言·开发语言·算法
先做个垃圾出来………2 小时前
Python中使用pandas
开发语言·python·pandas
DanmF--2 小时前
C#面向对象实践项目--贪吃蛇
开发语言·游戏·c#·游戏程序
@老蝴3 小时前
C语言 — 动态内存管理
android·c语言·开发语言
虾球xz3 小时前
CppCon 2014 学习:C++ Memory Model Meets High-Update-Rate Data Structures
java·开发语言·c++·学习
小灰灰搞电子3 小时前
Qt 仪表盘源码分享
开发语言·qt
我的golang之路果然有问题3 小时前
快速了解GO+ElasticSearch
开发语言·经验分享·笔记·后端·elasticsearch·golang
凤年徐4 小时前
【数据结构初阶】顺序表的应用
c语言·开发语言·数据结构·c++·笔记·算法·顺序表