mac php Swoole入门

博客介绍了Swoole扩展的安装与应用。安装前需确保系统安装特定软件,给出了下载地址,说明了编译安装及修改php.ini文件的方法。应用方面,通过swoole包中的echo.php文件创建TCP服务器,监听9501端口,并展示了启动服务器及连接测试的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

一、 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()."]\tClient@[$fd:$reactor_id]: Connect.\n";
});
$serv->set(array(
    'worker_num' => 1,

));

$serv->on('receive', function (swoole_server $serv, $fd, $reactor_id, $data) {
    echo "[#".$serv->worker_id."]\tClient[$fd] client data: $data\n";
    if ($serv->send($fd, "Server {$data}\n") == false)
    {
        echo "error\n";
    }

});

$serv->on('close', function ($serv, $fd, $reactor_id) {
    echo "[#".posix_getpid()."]\tClient@[$fd:$reactor_id]: Close.\n";
});

$serv->start();

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

命令

php echo.php

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

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

telnet 127.0.0.1 9501

输入hi,结果如下

 

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

 

转载于:https://www.cnblogs.com/wangziyue/p/11171597.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值