【PHP】Swoole:php多线程,异步,毫秒定时器,WebSocket的扩展实现
一、前言。
我们知道,原始的php是不支持异步多线程的,web服务器的多线程是借助于nginx来实现的。所以如果想单纯的实现
异步多线程、定时器的功能,需要自己想办法,正好国内的牛人写了这样的扩展,可以帮助我们实现功能。扩展是——
swoole。
具体,可以参考以下两个链接来学习,掌握。
W3Cschool Swoole介绍
Swoole官方网站
二、安装。
可以参考Swoole v2.0.7。
2.1、系统环境要求。
- PHP 5.3.10 or later
- Linux, OS X and basic Windows support (Thanks to cygwin)
- GCC 4.4 or later
2.2、笔者的系统。
gcc version 4.8.4
Ubuntu 4.8.4-2ubuntu1~14.04.3(腾讯云cvm)
5.5.9-1ubuntu4.21ubuntu(php版本)
2.3、安装步骤。
Install via pecl
pecl install swoole
Install from source
sudo apt-get install php5-dev git clone https://github.com/swoole/swoole-src.git cd swoole-src sudo phpize sudo ./configure sudo make && sudo make install
2.4、安装过程中出现的问题。
1、安装过程中,会提示【缺少pcre.h文件】。
执行:sudo apt-get install libpcre3 libpcre3-dev
2、还要将扩展添加到php.ini中。
执行locate php.ini,会发现有很多php.ini。
./php5/fpm/php.ini
./php5/cgi/php.ini
./php5/cli/php.ini
./php5/apache2/php.ini
很显然,这都是在不同的php运行模式下的配置,我们在测试阶段,只需要cli模式,所以先只改./php5/cli/php.ini。
添加以下语句:extension=swoole.so
执行php -m,查看是否有swoole扩展。我们会发现其实在php核心库中原本就有了mysql、mysqli、pdo_mysql、SimpleXML、json等扩展。
三、所有都安装完成后,就可以开始学习使用了。
【PHP】Swoole:php多线程,异步,毫秒定时器,WebSocket的扩展实现相关推荐
- Swoole基础知识,安装,websocket应用及各种问题详解
1. swoole基础-概述 Swoole基础课程正式推出!零基础开始,让你循环渐进的掌握swoole. 传统的phper们大部分都是用于开发web应用程序,并且大部分都是在用类似yii\larave ...
- Python|并发编程|爬虫|单线程|多线程|异步I/O|360图片|Selenium及JavaScript|Scrapy框架|BOM 和 DOM 操作简介|语言基础50课:学习(12)
文章目录 系列目录 原项目地址 第37课:并发编程在爬虫中的应用 单线程版本 多线程版本 异步I/O版本 总结 第38课:抓取网页动态内容 Selenium 介绍 使用Selenium 加载页面 查找 ...
- php不重复随机加时间毫秒,PHP实现的毫秒定时器,同时解决进程不重复堆积
定时器任务,在WEB应用比较常见,如何使用PHP实现定时器任务,大致有两种方案: 1)使用Crontab命令,写一个shell脚本,在脚本中调用PHP文件,然后定期执行该脚本: 2)配合使用ignor ...
- 昼猫笔记 JavaScript -- 异步执行 | 定时器真的定时执行?
本篇主要内容:异步.定时器引发的思考 预计阅读时间:8分钟 了解 我们都知道在js中定时器有两种 setInterval() . setTimeout() setInterval() :按 ...
- Java Web 实战 09 - 多线程基础之定时器
多线程当中的定时器 定时器 1. 官方的定时器 2. 自己实现的计时器 2.1 使用优先级阻塞队列 2.2 定义比较规则 2.3 解决 CPU 空转 : wait 2.4 防止其他线程插入到入队列和线 ...
- QT之QTimer详解以及结合多线程中开启定时器的示例
一 QTimer详解 QTimer类提供了重复和单次触发信号的定时器. a.void timeout ()定时器超时后,这个信号被发射. b.void start()开启定时器,它的重载函数void ...
- [原]unity3d之http多线程异步资源下载
郑重声明:转载请注明出处 U_探索 本文诞生于乐元素面试过程,被面试官问到AssetBundle多线程异步下载时,愣了半天,同样也被深深的鄙视一回(做了3年多u3d 这个都没用过),所以发誓要实现出来 ...
- PHP 毫秒级定时器,实现php毫秒定时器方法详解
描述 PHP编程语言是一种快速.简洁的服务端脚本编程语言,可以制作强大的交互性展现.在编程界PHP是完全免费的语言,在程序员身上使用非常的广泛,在编程中是大家高效的选择. PHP能实现的功能 1.可以 ...
- boost::log模块实现多线程异步日志记录示例
boost::log模块实现多线程异步日志记录示例 实现功能 C++实现代码 实现功能 boost::log模块实现多线程异步日志记录示例 C++实现代码 #include <stdexcept ...
- c# 多线程异步demo
一个 c# winform 多线程异步demo,分享下. 因为例子都很简单,所以不多说明,自己下载吧. 转载于:https://www.cnblogs.com/chaobao/archive/201 ...
最新文章
- ArrayList和LinkList区别
- directshow怎样打开摄像头不预览只抓帧_不比不知道,一比还真有差距!四款高性价比家庭智能摄像头对比...
- 网络参考模型(Network Reference Model)
- Jquery函数大全 - 案例说明
- Openg-三角形绘制
- phpstudy添加redis扩展
- 新服务器打包运营级价值几千的H5商城源码
- HTTP与HTTPS协议
- c语言全民,C语言还有学习的必要吗
- mysql——逗号分割字段情况
- OpenCV-Python实战(番外篇)——利用 SVM 算法识别手写数字
- LibXML2不支持中文补遗
- Tomcat内存溢出的三种情况及解决办法分析
- 快速批量创建文件夹的方法
- 【STM32】PS2遥控手柄使用和程序移植
- 强驴分享北京最好玩儿的隐秘旅游地
- 华为ensp——企业网络的设计与实现【方案测试验证】
- 华为服务器告警状态,华为RH2288H V5服务器CPU告警
- SQL 2014新功能介绍系列3 - 备份还原篇
- SSO单点登录-基于cookie的单点登录