一、前言。

我们知道,原始的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、安装步骤。

  1. Install via pecl

    pecl install swoole
    

  2. 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的扩展实现相关推荐

  1. Swoole基础知识,安装,websocket应用及各种问题详解

    1. swoole基础-概述 Swoole基础课程正式推出!零基础开始,让你循环渐进的掌握swoole. 传统的phper们大部分都是用于开发web应用程序,并且大部分都是在用类似yii\larave ...

  2. Python|并发编程|爬虫|单线程|多线程|异步I/O|360图片|Selenium及JavaScript|Scrapy框架|BOM 和 DOM 操作简介|语言基础50课:学习(12)

    文章目录 系列目录 原项目地址 第37课:并发编程在爬虫中的应用 单线程版本 多线程版本 异步I/O版本 总结 第38课:抓取网页动态内容 Selenium 介绍 使用Selenium 加载页面 查找 ...

  3. php不重复随机加时间毫秒,PHP实现的毫秒定时器,同时解决进程不重复堆积

    定时器任务,在WEB应用比较常见,如何使用PHP实现定时器任务,大致有两种方案: 1)使用Crontab命令,写一个shell脚本,在脚本中调用PHP文件,然后定期执行该脚本: 2)配合使用ignor ...

  4. 昼猫笔记 JavaScript -- 异步执行 | 定时器真的定时执行?

      本篇主要内容:异步.定时器引发的思考 预计阅读时间:8分钟 了解 我们都知道在js中定时器有两种  setInterval()  . setTimeout()   setInterval() :按 ...

  5. Java Web 实战 09 - 多线程基础之定时器

    多线程当中的定时器 定时器 1. 官方的定时器 2. 自己实现的计时器 2.1 使用优先级阻塞队列 2.2 定义比较规则 2.3 解决 CPU 空转 : wait 2.4 防止其他线程插入到入队列和线 ...

  6. QT之QTimer详解以及结合多线程中开启定时器的示例

    一 QTimer详解 QTimer类提供了重复和单次触发信号的定时器. a.void timeout ()定时器超时后,这个信号被发射. b.void start()开启定时器,它的重载函数void ...

  7. [原]unity3d之http多线程异步资源下载

    郑重声明:转载请注明出处 U_探索 本文诞生于乐元素面试过程,被面试官问到AssetBundle多线程异步下载时,愣了半天,同样也被深深的鄙视一回(做了3年多u3d 这个都没用过),所以发誓要实现出来 ...

  8. PHP 毫秒级定时器,实现php毫秒定时器方法详解

    描述 PHP编程语言是一种快速.简洁的服务端脚本编程语言,可以制作强大的交互性展现.在编程界PHP是完全免费的语言,在程序员身上使用非常的广泛,在编程中是大家高效的选择. PHP能实现的功能 1.可以 ...

  9. boost::log模块实现多线程异步日志记录示例

    boost::log模块实现多线程异步日志记录示例 实现功能 C++实现代码 实现功能 boost::log模块实现多线程异步日志记录示例 C++实现代码 #include <stdexcept ...

  10. c# 多线程异步demo

    一个 c# winform  多线程异步demo,分享下. 因为例子都很简单,所以不多说明,自己下载吧. 转载于:https://www.cnblogs.com/chaobao/archive/201 ...

最新文章

  1. ArrayList和LinkList区别
  2. directshow怎样打开摄像头不预览只抓帧_不比不知道,一比还真有差距!四款高性价比家庭智能摄像头对比...
  3. 网络参考模型(Network Reference Model)
  4. Jquery函数大全 - 案例说明
  5. Openg-三角形绘制
  6. phpstudy添加redis扩展
  7. 新服务器打包运营级价值几千的H5商城源码
  8. HTTP与HTTPS协议
  9. c语言全民,C语言还有学习的必要吗
  10. mysql——逗号分割字段情况
  11. OpenCV-Python实战(番外篇)——利用 SVM 算法识别手写数字
  12. LibXML2不支持中文补遗
  13. Tomcat内存溢出的三种情况及解决办法分析
  14. 快速批量创建文件夹的方法
  15. 【STM32】PS2遥控手柄使用和程序移植
  16. 强驴分享北京最好玩儿的隐秘旅游地
  17. 华为ensp——企业网络的设计与实现【方案测试验证】
  18. 华为服务器告警状态,华为RH2288H V5服务器CPU告警
  19. SQL 2014新功能介绍系列3 - 备份还原篇
  20. SSO单点登录-基于cookie的单点登录

热门文章

  1. FindWindowEx 遍历所有窗口
  2. 云服务器出租产业,云服务器一般租多大的比较合适?
  3. 调查:抗衰/染发/需求洞察/精准服务,切中中老年化妆品市场的关键点在哪?
  4. 路由交换-华为面试问题
  5. 风石,元素生物和史诗级装备
  6. 浅析安科瑞能耗监测云平台在公共建筑上的应用及未来发展趋势
  7. python爬取付费隐藏内容_如何用python 爬取网页中隐藏的div内容?
  8. 导出微信通讯录到 Excel
  9. 暗影岛服务器维护多少时间,「暗影岛系列」追了她这么久,他后悔了吗?
  10. ABAP 固定资产报废的BAPI