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

 

 然后重新編譯

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM