php Swoole扩展安装

Swoole扩展

PHP的异步、并行、高性能网络通信引擎,使用纯C语言编写,提供了PHP语言的异步多线程服务器异步TCP/UDP网络客户端异步MySQL异步Redis数据库连接池AsyncTask消息队列毫秒定时器异步文件读写异步DNS查询。 Swoole内置了Http/WebSocket服务器端/客户端Http2.0服务器端/客户端。PHP的异步、并行、高性能网络通信引擎,使用纯C语言编写,提供了PHP语言的异步多线程服务器异步TCP/UDP网络客户端异步MySQL异步Redis数据库连接池AsyncTask消息队列毫秒定时器异步文件读写异步DNS查询。 Swoole内置了Http/WebSocket服务器端/客户端Http2.0服务器端/客户端

 

 

编译安装

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

  • 请下载releases版本的swoole,直接从github主干上拉取最新代码可能会编译不过
  • 如果当前用户不是root,可能没有PHP安装目录的写权限,安装时需要sudo或者su
  • 如果是在git分支上直接git pull更新代码,重新编译前务必要执行make clean

下载安装包:https://wiki.swoole.com/wiki/page/6.html

 

解压:进入/usr/local/swoole-2.2.0目录,然后执行下面命令

 

phpize
./configure
或者  ./configure --with-php-config=/usr/local/php/bin/php-config
make 
sudo make install

会在这个目录/usr/local/php-7.0.7/lib/php/extensions/no-debug-zts-20151012 生成swoole.so文件。

将改文件加入

php.ini和php-cli.ini

 

然后重启PHP,使用php -m就可以查看该扩展是否安装成功

出现标红的这个,就说么安装没有问题,那么php怎么调用了 ,使用下面简单的例子,就能明白服务端和客户端之间通信了

这个是服务端代码

 


//创建Server对象,监听 127.0.0.1:9501端口
$serv = new swoole_server("127.0.0.1", 9501); 

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

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

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

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

下面可能通过php 运行这段代码

运行之后,相当于在当前窗户运行,你也可以让后台运行,为了方便查看服务端监控客户端的响应。就按如图运行就行

 

运行如图命令,会看到Client:Connect

如果这个时候断开窗口,服务端也会接受到Client:Close

当然这只是一个最基本的扩展安装和调用实例。

 

grep -ri "祥云" web_fe/

sed -i "s/祥云/降云/g" `grep -rl "祥云" web_fe`

 

ALTER TABLE `sec_acl_gwxt`.`user` CHANGE `username` `username` LONGTEXT NOT NULL COMMENT '用户名';

 

https://www.cnblogs.com/zhoading/p/11988882.html

yum install -y expect expect-devel tcl tcl-devel

pecl install expect-0.4.0

 

Create Table

CREATE TABLE `device_qos_apply` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `dev_id` int(10) NOT NULL,
  `interface` varchar(50) NOT NULL COMMENT '接口',
  `direction` varchar(20) NOT NULL COMMENT '方向',
  `policy` varchar(50) DEFAULT NULL COMMENT '应用的policy',
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `create_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  PRIMARY KEY (`id`),
  UNIQUE KEY `dev_id_interface_dir` (`dev_id`,`interface`,`direction`)
) ENGINE=InnoDB AUTO_INCREMENT=124383 DEFAULT CHARSET=utf8
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值