前言
sodium 是 PHP 的加密扩展需要 PHP > 7.2 并且需要安装依赖 libsodium,WordPress 官方也推荐安装 libsodium 。
步骤
首先安装 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/74/bin/phpize
./configure --with-php-config=/www/server/php/74/bin/php-config
make
make install
注意:根据自己的 PHP 版本替换指令中的命令路径,本文环境是 PHP 7.4
。
打开 php.ini
配置文件,在最下面添加 sodium.so
引用 ,php.ini 配置文件路径为 /www/server/php/74/etc/php.ini
。
// 将下面两行内容添加到 php.ini 文件最下面
[sodium]
extension = /www/server/php/74/lib/php/extensions/no-debug-non-zts-20190902/sodium.so
注意:sodium.so
文件的路径不固定,前往 /www/server/php/74/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 就可以了。