我swoole爬坑记,swoole安装和小demo(1)

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/bash pecl install swoole

Mac 用户
#!/bin/bash brew 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-fpm Configuration File (php.ini) Path => /usr/local/php/lib Loaded Configuration File => /usr/local/php/lib/php.ini

php –ri swoole #查看当前swoole版本
例子:
1 . Tcp server
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
'127.0.0.1', 'user' => 'root', 'password' => '你的数据库密码', 'database' => 'test', ); $db->connect($server, function ($db, $result) { echo "
"; //查询数据库... $db->query("select * from user",function(Swoole\MYSQL $db,$result){ var_dump($result); //异步反馈结果 $db->close(); }); });

【我swoole爬坑记,swoole安装和小demo(1)】看到这里应该可以了吧,哪些你曾经以为很牛逼的技术是不是没有你想象中的那么难呢,哈哈哈,恭喜您,已经开始swoole的爬坑旅途了
其他更多好玩的请移步官方网站www.swoole.com

    推荐阅读