189 8069 5689

Swoole入门指南:PHP7安装Swoole详细教程-创新互联

Swoole简介

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

十载的兰西网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整兰西建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联从事“兰西网站设计”,“兰西网站推广”以来,每个客户项目都认真落实执行。

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 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,如图:
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.https://wiki.swoole.com/wiki/page/1.html
2.https://segmentfault.com/a/1190000007614502

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网页题目:Swoole入门指南:PHP7安装Swoole详细教程-创新互联
标题链接:http://cdxtjz.cn/article/dsjipi.html

其他资讯