我swoole爬坑记,swoole安装和小demo(1)
来源:互联网 发布:上海萌动网络 编辑:程序博客网 时间:2024/05/21 22:42
Date : 2017-09-08
安装前准备:
php -v 如果php版本小于5.6的,请卸载
rpm -qa | grep php 删除掉
rpm -e php-cli-5.4.16-42.4.al7.x86_64 –nodeps
rpm -e php-devel-5.4.16-42.4.al7.x86_64 –nodeps
rpm -e php-common-5.4.16-42.4.al7.x86_64 –nodeps
删除后如果自己源码包安装的php无法找到,提示:-bash: /usr/bin/php: No such file or directory
vim /etc/profile 最后一行增加环境变量就OK
export PATH=/usr/local/php/bin:$PATH
source /etc/profile 更新下配置(ps 这里有个小坑,已登录的窗口要小退一下,重新登录才生效哦!)
php -v 看下OK
update 2017-12-13,之前编译安装的对于爬坑的同学来说有点繁琐,cut掉了,直接pecl install swoole简单粗暴吧!!!
工作原因忙了几个月,最近忙里偷闲写下文章
最新的方法,访问官网www.swoole.com ,官方教程完善了很多了,基本上按照官方的教程一步一步啃就差不多了
Linux 用户
#!/bin/bashpecl install swoole
Mac 用户
#!/bin/bashbrew install swoole
安装没毛病的话会提示swoole.so躺在某个文件夹里面,然后在php.ini配置文件后面增加extension = “swoole.so”
然后ps -ef|grep php-fpm 找到master的进程号(26783)
root 26783 1 0 11:34 ? 00:00:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
nobody 26784 26783 0 11:34 ? 00:00:00 php-fpm: pool www
nobody 26785 26783 0 11:34 ? 00:00:00 php-fpm: pool www
重启php-fpm
kill -USR2 26783
然后php -m看下有没有swoole的扩展,如果没有,那么很大可能是cli模式下读取的php.ini文件和cgi模式下读取的配置不一样造成的
执行 php -i|grep php.ini 命令查看是不是这个情况发现确实是这回事,把swoole.so增加到/usr/local/php/lib/php.ini文件中,然后重启php-fpmConfiguration File (php.ini) Path => /usr/local/php/libLoaded Configuration File => /usr/local/php/lib/php.ini
php –ri swoole #查看当前swoole版本
例子:
1 . Tcp server
<?php//创建Server对象,监听 127.0.0.1:9501端口,保存为tcp.php$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 tcp.php 就可以启动一个和简单的tcp服务器了
netstat -an | grep 9501 查看是否为listen状态
tcp 0 0 127.0.0.1:9501 0.0.0.0:* LISTEN off (0.00/0/0)
现在可以telnet 127.0.0.1 9501 连接上server,输入什么鬼,返回什么鬼
2 . 异步mysql
<?php$db = new Swoole\MySQL;$server = array( 'host' => '127.0.0.1', 'user' => 'root', 'password' => '你的数据库密码', 'database' => 'test',);$db->connect($server, function ($db, $result) { echo "<pre>"; //查询数据库... $db->query("select * from user",function(Swoole\MYSQL $db,$result){ var_dump($result);//异步反馈结果 $db->close(); });});
看到这里应该可以了吧,哪些你曾经以为很牛逼的技术是不是没有你想象中的那么难呢,哈哈哈,恭喜您,已经开始swoole的爬坑旅途了
其他更多好玩的请移步官方网站www.swoole.com
- 我swoole爬坑记,swoole安装和小demo(1)
- swoole安装(phpize)
- swoole 安装
- swoole 安装
- swoole 安装
- 安装swoole
- swoole 安装和简单实用
- swoole
- swoole
- Swoole入门指南:PHP7安装Swoole详细教程(一)
- 245 swoole - 1 编译安装PHP7 和 swool
- PHP swoole扩展安装和使用
- centos 安装php7和swoole步骤
- ubuntu16.04安装lamp和swoole
- phpstudy 安装 swoole扩展
- Mac 安装swoole
- Centos Swoole安装
- swoole编译安装
- HDU6034【模拟】
- Struts2的资料汇总
- 用R做评分卡模型
- RETON锐盾KVM发布分辨率高达4K的16路HDMI分配器
- yii2 常用组件 -- 表单
- 我swoole爬坑记,swoole安装和小demo(1)
- 权限系统--系统数据库设计
- 实现跑马灯效果的TextView
- 温故而知新(六)Java基础:IO流(此文章暂时未写完)
- _tcsncpy_s的src 会被自动覆盖成 fe fe fe fe
- 分布式通讯类型及特点
- Ruby 字符串(String)
- bzoj3944: Sum
- 【Java利器之】Intellij Idea--Debug使用(mac)