博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Swoole入门指南:PHP7安装Swoole详细教程
阅读量:6241 次
发布时间:2019-06-22

本文共 1232 字,大约阅读时间需要 4 分钟。

Swoole简介

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


Server运行流程图

Swoole入门指南:PHP7安装Swoole详细教程


进程/线程结构图

Swoole入门指南:PHP7安装Swoole详细教程


环境

用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

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

方法2

从 下载


编译&安装

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,如图:
Swoole入门指南:PHP7安装Swoole详细教程

注意: 1.swoole_server只能用于php-cli环境,否则会抛出致命错误。 2.因此引入类/函数的php文件时必须要使用include_once或require_once,否会发生cannot redeclare function/class 的致命错误。 3.不要用exit()/die(),会导致worker进程退出。 4.PHP代码中如果有异常抛出,必须在回调函数中进行try/catch捕获异常,否则会导致工作进程退出。

参考:

1.
2.

转载于:https://blog.51cto.com/onebig/2057641

你可能感兴趣的文章
纯前端表格控件SpreadJS与Java结合,实现模板上传和下载等功能
查看>>
推荐 5 款超好用的 Chrome 浏览器插件,文末有从别人的电脑移植插件的方法
查看>>
几种实现延时任务的方式(二)
查看>>
ReactNative:require & import
查看>>
MaxCompute新功能发布
查看>>
decorator(修饰器)的业务应用
查看>>
ES6系列-- 8. Symbol
查看>>
要点提炼| Gradle指南
查看>>
Hexo Next底部powered by的logo栏更改以及注意事项(附官方文档,文末有福利链)
查看>>
我是如何进入阿里巴巴的-面向春招应届生Java面试指南(七)
查看>>
Android Studio 打包生成的 apk 安装包装到手机上闪退
查看>>
Mybatis技术内幕:初始化之加载 mybatis-config
查看>>
mysql与pymysql
查看>>
Fastlane(二):结构
查看>>
vue高阶组件
查看>>
Android消息机制Handler源码分析
查看>>
HashMap JDK1 8源码
查看>>
2018年互联网圈,程序员圈竟然脱单的这么多?
查看>>
数据结构:解读哈夫曼树
查看>>
重新学习web后端开发-003-了解http请求
查看>>