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

     然后重新编译

  • 相关阅读:
    iOS 文件操作--归档和解档
    iOS中UITabBarController的使用
    Objective-C基础知识点总结,字符串操作,数组操作,字典操作
    Objective-C中协议和分类总结
    Objective-C文件操作之NSCoding协议之小练习
    浅谈Objective-C继承和多态
    Objective-C内存管理基础知识
    MySort(选做)的实现
    20175308 2018-2019-2 实验四 《Android开发基础》实验报告
    JAVA 第十一周学习总结
  • 原文地址:https://www.cnblogs.com/new-journey/p/11927678.html
Copyright © 2011-2022 走看看