PHP7.2.6安装sodium扩展
Posted New_Journey
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP7.2.6安装sodium扩展相关的知识,希望对你有一定的参考价值。
安装libsodium
libsodium是安装sodium扩展的必须依赖条件,我这里提供两种安装方式,编译和直接yum
编译安装libsodium
wget https://github.com/jedisct1/libsodium/releases/download/1.0.17/libsodium-1.0.17.tar.gz tar xf libsodium-1.0.17.tar.gz cd libsodium-1.0.17 ./configure make make install
或者直接yum安装
rpm -ivh http://mirrors.whsir.com/centos/whsir-release-centos.noarch.rpm yum install wlibsodium
下载php7.2编译sodium
yum install autoconf wget https://www.php.net/distributions/php-7.2.17.tar.gz tar xf php-7.2.17.tar.gz cd php-7.2.17/ext/sodium /usr/local/php/bin/phpize
根据自己phpize的位置来运行即可(不知道phpize在哪的直接find / -name phpize查找),运行完提示下面信息,然后编译
Configuring for:
PHP Api Version: 20170718
Zend Module Api No: 20170718
Zend Extension Api No: 320170718
编译扩展模块:
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install
注意:此处编译的路径是 /opt/php-7.2.17/ext/sodium
执行完成后会显示扩展模块编译到的目录/usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/
修改php.ini添加扩展
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/" extension=sodium.so
保存退出,重启php
通过phpinfo可看到,扩展已生效
附:如果在编译时报错:
ext/iconv/.libs/iconv.o: In function `php_iconv_stream_filter_ctor\': /ext/iconv/iconv.c:2491: undefined reference to `libiconv_open\' collect2: ld returned 1 exit status make: *** [sapi/cli/php] Error 1
解决方法:
使用:make ZEND_EXTRA_LIBS=\'-liconv\'
或者: vim Makefile
添加:-lcrypt
然后重新编译
以上是关于PHP7.2.6安装sodium扩展的主要内容,如果未能解决你的问题,请参考以下文章