上一篇文章中用到了,php的sodium扩展,那么如何安装PHP扩展呢?基于我之前踩过的一些坑,大致整理了几种安装php扩展的方法。已安装sodium为例
1、先做点准备工作,安装sodium依赖
rpm -ivh http://mirrors.whsir.com/centos/whsir-release-centos.noarch.rpm yum install wlibsodium
2、开始安装扩展
a:源码编译安装
yum install autoconf wget https://www.php.net/distributions/php-7.2.18.tar.gz #对应自己的php版本 tar xf php-7.2.18.tar.gz cd php-7.2.18/ext/sodium #对应自己的php扩展安装目录 /usr/bin/phpize #对应自己的phpize命令 我对phpize做了软连接可以直接使用phpize命令
根据自己phpize的位置来运行即可(不知道phpize在哪的直接find / -name phpize查找),运行完提示下面信息,然后编译
./configure --with-php-config=/usr/bin/php-config make make install
/usr/bin/php-config 同phpzie 一般都会在php安装目录里面,做个/usr/bin的软连接 方便使用
最后修改一下php.ini文件 结尾加入一行
extension=/yourextpath/sodium.so
b:使用pecl工具安装 不知道怎么用pecl 先自己找下资料了解下 有时间我再写个pecl的用法
pecl install libsodium
这时候可能会提示
Warning: popen() has been disabled for security reasons in OS/Guess.php on line 241 PHP Warning: popen() has been disabled for security reasons in /www/server/php/72/lib/php/OS/Guess.php on line 241
去php配置里去掉popen()函数的禁用
下面就是全自动的 直到显示
Build process completed successfully Installing '/www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718/sodium.so' install ok: channel://pecl.php.net/libsodium-2.0.22 Extension libsodium enabled in php.ini
恭喜安装成功了 按照提示 修改php,ini文件 重启php服务 大功告成