• centos7.2安装swoole扩展


    1、更新一下源

    yum update
    

    2、 安装pecl(默认安装 php7.2 没有pecl,如果已经安装可忽略)

    yum install php72w-devel
    yum install php72w-pear
    

    3、安装 swoole

    pecl install swoole
    
    3.1补充: 关于 Swoole 安装配置选项:(特别注意:如果有些扩展没安装,yes之后后面会报错)
    // 是否启用 Debug 跟踪调试
    // 启用后,会在命令行中输出 Debug 跟踪 log,我一般禁用此项。
    enable debug/trace log support? [no] : no
    // 是否启用 PHP Sockets 支持
    // 如果你需要用 PHP 编写 Sockets 服务,可以启用此项。
    enable sockets supports? [no] : yes
    // 是否启用 OpenSSL 支持
    // 是否启用 SSL 加密,如果你是通过 Swoole 提供对外的 HTTPS 服务,则需要启用此项。
    // 我的 Mac 是本地开发用,所以不启用。
    enable openssl support? [no] : no
    // 是否启用 HTTP2 支持
    // 了解 HTTP2 新特性 https://zh.wikipedia.org/wiki/HTTP/2
    enable http2 support? [no] : yes
    // 是否启用异步 Redis 支持
    // Swoole 实现了一套支持异步的 Redis 服务端框架
    // https://wiki.swoole.com/wiki/page/p-redis_server.html
    enable async-redis support? [no] : yes
    // 是否启用 MySQL 原生支持
    enable mysqlnd support? [no] : yes
    // 是否启用 PgSQL 协程客户端支持
    enable postgresql coroutine client support? [no] : yes
    

    -------------------出现下面的提示,很高兴的告诉你,你成功了-------------------------------

    Installing '/usr/lib64/php/modules/swoole.so'
    Installing '/usr/include/php/ext/swoole/config.h'
    install ok: channel://pecl.php.net/swoole-4.3.1
    configuration option "php_ini" is not set to php.ini location
    You should add "extension=swoole.so" to php.ini
    

    4、 修改配置

    vi /etc/php.ini 中加入
    extension=swoole.so
    

    5、重启

    service php-fpm restart
    service httpd restart
    

    6、查看

    php -m 或者 phpinfo() 查看是否有swoole
    

    备注(安装过程中有可能会出现下面错误)

    1、问题:PHP Startup: Unable to load dynamic library 'swoole.so' (tried: /usr/lib64/php/modules/swoole.so (/usr/lib64/php/modules/swoole.so: cannot open shared object file: No such file or directory), /usr/lib64/php/modules/swoole.so.so (/usr/lib64/php/modules/swoole.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0

    解决方法:把3.1补充说明内的全部扩展全部安装一遍

    2、问题,如果使用php -m或者 phpinfo()查看不到swoole

    解决方法:(确定安装和配置都没有问题)
    1、如果使用两种方法都无法查看swoole,那么请执行第五步重启
    2、如果使用php -m无法查看swoole,请使用命令service php-fpm restart重启
    3、如果使用phpinfo()无法查看swoole,请使用命令service httpd restart重启

    3、 问题 C++ preprocessor “/lib/cpp” fails sanity check

    解决方法:没有c++库

    yum install glibc-headers
    yum install gcc gcc-c++ gcc-g77
    

    4、问题:fatal error: openssl/ssl.h: No such file or directory

    解决方法:没有openssl/ssl此类文件或目录

    yum install openssl-devel
    

    5、问题:error “Enable http2 support, require nghttp2 library.

    解决方法:

    wget https://github.com/nghttp2/nghttp2/releases/download/v1.34.0/nghttp2-1.34.0.tar.bz2
    tar -xjf nghttp2-1.34.0.tar.bz2
    

    6、问题PHP Warning: Module 'swoole' already loaded in Unknown on line 0

    解决方法:
    在修改配置时extension=swoole.so别放在最后,最好放在extension=sockets.so后面,

    作者:最底层的技术渣
    链接:https://www.jianshu.com/p/fa2cbf1a9e26
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    百度地图API(二)
    Android开发--页面切换
    Android开发--Socket通信
    android开发--okhttp
    android开发--下载图片
    Android--Handler
    android开发--多线程
    android开发--Application
    android开发--ormlite
    android开发--数据库(更新或者降低版本)
  • 原文地址:https://www.cnblogs.com/super-ldc/p/12724184.html
Copyright © 2020-2023  润新知