zoukankan      html  css  js  c++  java
  • 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

     然后重新编译

  • 相关阅读:
    Js $.merge() 函数(合并两个数组内容到第一个数组)
    11.联结表---SQL
    函数作用域
    递归特性
    计算递归函数理解
    递归、问路函数
    全局变量用大写,局部变量用小写
    全局变量与局部变量
    函数形参和实参
    函数和过程
  • 原文地址:https://www.cnblogs.com/new-journey/p/11927678.html
Copyright © 2011-2022 走看看