PHP7编译安装swoole

浏览670

Swoole 是一个 PHP 的 协程 高性能 网络通信引擎,使用 C/C++ 语言编写,提供了多种通信协议的网络服务器和客户端模块。可以方便快速的实现 TCP/UDP服务、高性能Web、WebSocket服务、物联网、实时通讯、游戏、微服务等,使 PHP 不再局限于传统的 Web 领域。

Swoole 扩展是按照 PHP 标准扩展构建的。使用 phpize 来生成编译检测脚本,./configure 来做编译配置检测,make 进行编译,make install 进行安装。

一、下载swoole 源码包

用命令 git clone https://gitee.com/swoole/swoole.git
或者:http://pecl.php.net/package/swoole

二、 编译安装

1. 下载到目录后解压 unzip  swoole-swoole-v2.1.0.zip 

2. 进入包  cd swoole

3. 找到PHP目录找到 phpize 我的目录是:/usr/local/php7.4/bin/phpize在解压的swoole目录中执行此语句

4. 然后用phpconfig编译swoole:./configure --with-php-config=/usr/local/php7.4/bin/php-config(这里会等待一下)

5.然后make && make install(最后会出现swoole.so存放的目录)

三、让php7支持swoole

1.找到PHP配置文件php.ini 在里面添加 extension=swoole,然后重新加载php配置,在phpinfo中就可以看到扩展了

image.png

重启php,/etc/init.d/php-fpm restart,

2.创建server.php文件,写入如下内容:

<?php
//创建Server对象,监听 127.0.0.1:9501 端口
$server = new Swoole\Server('127.0.0.1', 9501);

//监听连接进入事件
$server->on('Connect', function ($server, $fd) {
    echo "Client: Connect.\n";
});

//监听数据接收事件
$server->on('Receive', function ($server, $fd, $from_id, $data) {
    $server->send($fd, "Server: " . $data);
});

//监听连接关闭事件
$server->on('Close', function ($server, $fd) {
    echo "Client: Close.\n";
});

//启动服务器
$server->start(); 
?>

3.在cli中执行php  server.php就可以开启swoole中的tcp服务器

4.新开一个窗口执行:netstat -anp | grep 9501,查看服务监听的端口就可以看到啦!

image.png



  • 暂无任何回答