当前位置:首页 > Linux >

PHP 扩展 libsodium sodium

时间:2023-09-01 23:51:54浏览:5752 转载

Sodium 出现的目的也是为了代替Mcrypt这个原来的加密扩展。在 PHP7.2 之后,Mcrypt已经被移除,在PHP7.1时就已经被标记为过时。

Sodium 扩展在 PHP7.2 后是跟随 PHP 源码一起发布的,只需要在编译的时候加上 --with-sodium 即可安装成功。如果是 PHP7.2 之前的版本,需要单独安装这个扩展。同时,操作系统中也需要安装 libsodium-devel 库。


首先安装 libsodium
libsodium 是安装 sodium 扩展所必须的前提条件,安装 libsodium 有两种方法。(下面的两种方法二选一即可)

方法1、yum 或者 dnf 安装 libsodium

// Centos 7 系统下用 yum 安装
yum install epel-release libsodium-devel -y
// Centos 8 系统下用 dnf 安装
dnf install epel-release libsodium-devel -y
方法2、下载 libsodium 源码到本地编译安装
cd /www/server
wget https://github.com/jedisct1/libsodium/releases/download/1.0.18/libsodium-1.0.18.tar.gz
tar xf libsodium-1.0.17.tar.gz
cd libsodium-1.0.18
./configure
make
make install
然后安装 sodium 扩展
提示:如果你是宝塔 PHP 7.3 以上版本已经自带了 sodium 扩展,下面的步骤可以忽略了。
cd /www/server
wget https://github.com/jedisct1/libsodium-php/archive/2.0.22.tar.gz
tar xf 2.0.22.tar.gz
cd libsodium-php-2.0.22
/www/server/php/72/bin/phpize
./configure --with-php-config=/www/server/php/72/bin/php-config
make
make install
注意:根据自己的 PHP 版本替换指令中的命令路径,本文环境是 PHP 7.2 。

打开 php.ini 配置文件,在最下面添加 sodium.so 引用 ,php.ini 配置文件路径为 /www/server/php/72/etc/php.ini 。


// 将下面两行内容添加到 php.ini 文件最下面

[sodium]

extension = /www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718/sodium.so

注意:sodium.so 文件的路径不固定,前往 /www/server/php/72/lib/php/extensions/ 自行查看。

然后重新载入 PHP 配置或重启 PHP 通过 phpinfo 可看到,扩展已生效。

最后
如果重启 PHP 时遇到 NOTICE: PHP message: PHP Warning: Module ‘sodium’ already loaded in Unknown on line 0 错误,一般是 sodium.so 文件重复调用了,删除 php.ini 文件最后的 sodium.so 引用重启 PHP 就可以了。

上一篇:wordpress更换域名的方法
下一篇:PHP的Sodium加密扩展函数了解

发表评论

昵称:  验证码:

关于博主

博主

博主:BlueCode

职业:web程序

简介:2002年开始一直从事Web制作,网站运营,会PHP+MYSQL ASP+MSSQL,微信开发