Swoole简介

Swoole是:PHP语言的高性能网络通信框架,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。 Swoole虽然是标准的PHP扩展,实际上与普通的扩展不同。普通的扩展只是提供一个库函数。而swoole扩展在运行后会接管PHP的控制权,进入事件循环。当IO事件发生后,swoole会自动回调指定的PHP函数。

Server运行流程图

进程/线程结构图

环境

用nginx + php-fpm,性能更强大,配置更方便,并且为了跟上php的步伐,也使用了比较新的php版本,我php版本7.0.26。[x] ubuntu-14

[x] php7.0.26

[x] nginx/1.10.2

[x] php-fpm

下载 swoole

方法1:首先下载swoole的源码包

wget -c https://github.com/swoole/swoole-src/archive/v2.0.6.tar.gz

解压: tar -zxvf v2.0.6.tar.gz

方法2:

从 https://github.com/swoole/swoole-src/releases 下载

编译&安装

cd swoole-src-2.0.6/ 下,

1.使用phpize来生成php编译配置

2.使用./configure 来做编译配置检测

3.make进行编译,make install进行安装

命令执行如下:[root@php7 swoole-src-2.0.6]# phpize

[root@php7 swoole-src-2.0.6]# ./configure

[root@php7 swoole-src-2.0.6]# make && make install

4.make install后,如果正确,会出现以下内容[root@php7 swoole-src-2.0.6]# make install

Installing shared extensions:     /usr/lib64/php/modules/

修改配置文件

要能够使用该模块,还需要在 php.ini 文件中添加该模块。extension=swoole.so

重启服务

新增php模块后,需要重新启动nginx和php-fpm服务,才会生效。

最后通过php -m或phpinfo()来查看是否成功加载了swoole,如图:

注意:

1.swoole_server只能用于php-cli环境,否则会抛出致命错误。

2.因此引入类/函数的php文件时必须要使用include_once或require_once,否会发生cannot redeclare function/class 的致命错误。

3.不要用exit()/die(),会导致worker进程退出。

4.PHP代码中如果有异常抛出,必须在回调函数中进行try/catch捕获异常,否则会导致工作进程退出。

php swoole 教程,PHP7安装Swoole详细教程相关推荐

  1. php7如何安装swoole,初学Swoole:PHP7安装Swoole的步骤

    本篇文章给大家带来的内容是关于初学Swoole:PHP7安装Swoole的步骤,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 环境 这里不在使用apache做为web server. ...

  2. python中pytest教程_Pytest安装新手详细教程

    相信软件测试的从业者对Pytest都不会感到陌生,它是一个功能丰富的Python测试框架,因其简单灵活,支持复杂的功能测试和丰富的第三方插件而备受大家喜爱.下面我将手把手教大家如何安装Pytest,一 ...

  3. mMySQL中触发器和游标的介绍与使用L8.0.23免安装版配置详细教程 msi安装超详细教程

    文章来源: 学习通http://www.bdgxy.com/ 普学网http://www.boxinghulanban.cn/ 智学网http://www.jaxp.net/ 一.下载MySql,安装 ...

  4. 2020mysql下载教程_Windows10 安装MySQL详细教程2020版 亲测亲写

    MYSQL安装 1.下载地址 2.安装包解压到自己Mysql目录下 本人路径:C:\Program Files\MySQL\mysql-8.0.21-winx64 3.新建my.ini文件并添加以下内 ...

  5. mac java 安装教程_MAC安装JDK详细教程

    1.下载JDK: 2.安装:选中下载的压缩包,双击安装 3.查看是否安装成功: 终端输入命令:Java -version,看到版本号即代表安装成功 4.配置环境变量: (1).打开配置文件:终端输入  ...

  6. Swoole入门指南:PHP7安装Swoole详细教程(一) 1

    这里不在使用apache做为web server.该用nginx + php-fpm,性能更强大,配置更方便.并且为了跟上php的步伐,也使用了比较新的php版本 [x] centos7 [x] ph ...

  7. PHP的swoole扩展安装方法详细教程

    这篇文章主要为大家分享了PHP的swoole扩展安装方法详细教程,具有实用性和参考价值,感兴趣的小伙伴们可以参考一下 Swoole支持PHP 5.3.10以上版本,所以安装Swoole之前请先安装PH ...

  8. LNMP安装步骤详细教程以及一键部署脚本

    LNMP安装步骤详细教程以及一键部署lnmp脚本 安装包 提取码:1w3t 文章目录 一.安装 Nginx 服务 二.安装 MySQL 服务 三.安装配置 PHP 解析环境 四.一键部署LNMP脚本 ...

  9. 小狐狸ChatGPT付费创作系统1.6.8独立开源版 + 公众号H5+小程序+VUE源码安装配置详细教程

    小狐狸GPT付费体验系统最新版系统是一款基于ThinkPHP框架开发的AI问答小程序,是基于国外很火的ChatGPT进行开发的Ai智能问答小程序.接口模型升级至GTP3.5,播播资源网整体测试下来非常 ...

最新文章

  1. 【AI】dlib中图像标注工具 imglab 详细说明
  2. 张鸿轩:大数据让无形之风尽在掌握 | 优秀毕业生专访
  3. linux系统硬盘使用过高,磁盘IO过高时的处理办法
  4. matlab画二维颜色深浅,MATLAB scatter 画二维/三维散点图时 用颜色表示数值大小 colorbar
  5. java网络编程(三)
  6. vb.net2019-读取定宽文本文件-比如日志
  7. 从论文到PPT,一键生成!从此报告不用愁!
  8. @interface使用详解
  9. 字符集编码转换--MFC
  10. SQL PASS西雅图之行——会议篇
  11. keydown - keypress - keyup 用法和区别
  12. 框架设计知识点纵览(笔记)
  13. linux怎么对文件去重,linux文件合并、去重、拆分
  14. APP测试基本流程以及APP测试要点
  15. ThinkPHP3.2.3实现后台登录界面
  16. redis之SDS字符串,到底高效在哪里?(全面分析)
  17. Reflector使用详解
  18. 2018-2-13-win10-uwp-活动磁贴
  19. C++如何写一个函数
  20. 蓝桥杯 大臣的旅费 JAVA

热门文章

  1. 用户运营 - 获客成本与提高转化率
  2. kubernetes中显示所有命名空间中的deployment、Pod以及所有的Pod对应的命名空间
  3. C语言图形化推箱子完整代码
  4. 小猿圈python视频_小猿圈分享学习Python的最佳方式
  5. 通过cookie登录以及使用账号密码登录
  6. Symbol - 听说用了这个方法就能创建出相同的Symbol值
  7. php保存文件乱码,如何解决php保存文件乱码的问题
  8. 苹果电脑python快捷键_我常用用的MAC快捷键和手势
  9. 一个数组实现两个栈(共享栈)
  10. 一种特定场景去除高光算法