zoukankan      html  css  js  c++  java
  • mac php Swoole入门

     

     

    一、 swoole 扩展安装

    安装前必须保证系统已经安装了下列软件

    • php-7.0 或更高版本
    • gcc-4.8 或更高版本
    • make
    • autoconf
    • pcre (CentOS系统可以执行命令:yum install pcre-devel)

    下载地址:

    编译安装:

    cd /usr/local
    wget -c https://github.com/swoole/swoole-src/archive/v2.0.8.tar.gz
    tar -zxvf v2.0.8.tar.gz
    cd swoole-src-2.0.8/
    phpize
    ./configure
    make && make install

    修改php.ini文件:

    extension=swoole.so

    通过php -mphpinfo()来查看是否成功加载了swoole.so,如果没有可能是php.ini的路径不对,可以使用php --ini来定位到php.ini的绝对路径。

    二、 swoole 应用

    1.打开下载的swoole包,在/swoole/examples/server/echo.php,这个文件创建了一个TCP服务器,监听本机9501 端口

    echo.php

    <?php
    $serv = new swoole_server("0.0.0.0", 9501);
    $serv->on('connect', function ($serv, $fd, $reactor_id){
        echo "[#".posix_getpid()."]	Client@[$fd:$reactor_id]: Connect.
    ";
    });
    $serv->set(array(
        'worker_num' => 1,
    
    ));
    
    $serv->on('receive', function (swoole_server $serv, $fd, $reactor_id, $data) {
        echo "[#".$serv->worker_id."]	Client[$fd] client data: $data
    ";
        if ($serv->send($fd, "Server {$data}
    ") == false)
        {
            echo "error
    ";
        }
    
    });
    
    $serv->on('close', function ($serv, $fd, $reactor_id) {
        echo "[#".posix_getpid()."]	Client@[$fd:$reactor_id]: Close.
    ";
    });
    
    $serv->start();

    2.启动server,打开终端,运行echo.php 

    命令

    php echo.php

    这个时候,其实Server已经启动了,并且正在运行,监听了本机的9501端口,此时Server处于等待的状态,所以没有任何输出。

    打开一个新窗口,用telnet连接

    telnet 127.0.0.1 9501

    输入hi,结果如下

    -------end----- 

  • 相关阅读:
    Nginx配置文件详解
    Mycat概述
    日志切割之Logrotate
    js数组(二)
    js数组(一)
    sass颜色
    scss
    HTML5新属性
    HTML5新元素
    Bootstrap
  • 原文地址:https://www.cnblogs.com/wangziyue/p/11171597.html
Copyright © 2011-2022 走看看