linux下安装Swoole

《linux下安装Swoole》

简介

   Swoole是一个面向生产环境的 PHP 异步网络通信引擎,使 PHP 开发人员可以编写高性能的异步并发 TCP、UDP、Unix Socket、HTTP,WebSocket 服务。Swoole 可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。 使用 PHP + Swoole 作为网络通信框架,可以使企业 IT 研发团队的效率大大提升。

安装

# yum install gcc gcc-c++ postgresql-devel openssl-devel
# pecl install swoole //安装
# pecl install swoole //更新也是此命令
-------------------------------------------------------------------------
enable sockets supports? [no] : yes //允许sockets的支持
enable openssl support? [no] : no  //允许openssl的支持 
enable http2 support? [no] :  no //允许http2的支持 
enable mysqlnd support? [no] : yes  //允许mysqlnd的支持 
enable postgresql coroutine client support? [no] : no //允许postgresql的支持 
enable kernel debug/trace log? (it will degrade performance) [no] : //允许记录日志  
-------------------------------------------------------------------------
install ok: channel://pecl.php.net/swoole-4.4.4
 configuration option "php_ini" is not set to php.ini location
 You should add "extension=swoole.so" to php.ini

通过php -m 来查看是否成功加载了swoole.so

# php -m | grep swoole
如果没有可能是
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/swoole.so' - /usr/lib64/php/modules/swoole.so: undefined symbol: mysqlnd_find_charset_nr in Unknown on line 0
PHP Warning:  Module 'sockets' already loaded in Unknown on line 0

后来测试发现是插件加载顺序的原因,
应该把extension=swoole.so加到socket的加载后面,在php7.2中进入/etc/php.d下,

在sockets.ini中将extension=swoole.so加到extension=sockets.so下面,
vi /etc/php.d/..?sockets.ini

详细步骤如下:
# cd /etc/php.d/
# ls
----------------------------------------------------
10-opcache.ini             20-fileinfo.ini            20-mbstring.ini            20-sockets.ini <<<<<<<
20-bcmath.ini              20-ftp.ini                 20-mysqlnd.ini             20-sqlite3.ini 
20-bz2.ini                 20-gd.ini                  20-odbc.ini                20-sysvmsg.ini 
20-calendar.ini            20-gettext.ini             20-pdo.ini                 20-sysvsem.ini 
20-ctype.ini               20-iconv.ini               20-phar.ini                20-sysvshm.ini 
20-curl.ini                20-imap.ini                20-posix.ini               20-tokenizer.in
20-dom.ini                 20-json.ini                20-shmop.ini               20-xml.ini     
20-exif.ini                20-ldap.ini                20-simplexml.ini
----------------------------------------------------
# vi /etc/php.d/20-sockets.ini
//将extension=swoole.so加到extension=sockets.so下面

然后重启php-fpm

# service php-fpm restart
# php -m | grep swoole

点赞
  1. Suomi Paita说道:

    I know this if off topic but I'm looking into starting my own weblog
    and was curious what all is needed to get set
    up? I'm assuming having a blog like yours would cost
    a pretty penny? I'm not very web savvy so I'm not 100% positive.
    Any recommendations or advice would be greatly appreciated.
    Appreciate it Suomi Paita

发表评论

邮箱地址不会被公开。 必填项已用*标注