1. 下载 swoole
  2.  
  3. 首先下载swoole的源码包,这个操作很简单,没有太多说的。
  4.  
  5. wget -c https://github.com/swoole/swoole-src/archive/v2.0.6.tar.gz
  6.  
  7. 解压: tar -zxvf v2.0.6.tar.gz
  8.  
  9. cd swoole-src-2.0./
  10. 编译&安装
  11.  
  12. 使用phpize来生成php编译配置
  13.  
  14. ./configure 来做编译配置检测
  15.  
  16. make进行编译,make install进行安装
  17.  
  18. 命令执行:
  19.  
  20. [root@php7 swoole-src-2.0.]# phpize
  21. [root@php7 swoole-src-2.0.]# ./configure
  22. [root@php7 swoole-src-2.0.]# make && make install
  23.  
  24. make install后,如果正确,会出现以下内容
  25.  
  26. [root@php7 swoole-src-2.0.]# make install
  27. Installing shared extensions: /usr/lib64/php/modules/
  28.  
  29. 这表示,在 /usr/lib64/php/modules/ 目录中,成功生成了 swoole.so 文件
  30.  
  31. 修改配置文件
  32.  
  33. 要能够使用该模块,还需要在 php.ini 文件中添加该模块。
  34.  
  35. 这里需要注意,php7的模块配置文件均单独分开了。
  36. php.ini 中可找到如下内容
  37.  
  38. ;;;;
  39. ; Note: packaged extension modules are now loaded via the .ini files
  40. ; found in the directory /etc/php.d; these are loaded by default.
  41. ;;;;
  42. 因此,如果你的php安装时,如果未特殊设置,可以在/etc/php.d 目录中,找到添加模块的配置文件。
  43.  
  44. 进入到 cd /etc/php.d 目录,完成相关的配置
  45.  
  46. [root@php7 swoole-src-2.0.]# vim swoole.ini
  47.  
  48. ; Enable swoole extension module
  49. extension=swoole.so
  50.  
  51. 重启服务
  52.  
  53. 新增php模块后,需要重新启动服务,才会生效,如果有时候restart后依然无效,请先关闭,再重新启动。
  54.  
  55. [root@php7 swoole-src-2.0.]# systemctl restart httpd.service
  56. 通过php -mphpinfo()来查看是否成功加载了swoole
  57.  
  58. image
  59.  
  60. swoole 代码的自动提示
  61.  
  62. 安装好扩展后,就是使用的问题。由于没有代码的提示,有时候很不方便,github上有人已经提供了swoole代码提示的 ide-helper 。具体设置办法如下:
  63.  
  64. 这里以: phpStorme 为例,download 代码到本地
  65.  
  66. git clone git@github.com:eaglewu/swoole-ide-helper.git ide-helper
  67.  
  68. 按照图片内容设置
  69. image
  70.  
  71. 经过以上步骤,可以在 phpStorme 中使用swoole了。并且提供代码提示。
  72.  
  73. 简单测试
  74.  
  75. 所有的测试代码均放在 这里
  76.  
  77. 请将该代码 clone 到本地,方便观察效果。
  78.  
  79. git clone git@github.com:helei112g/learn-swoole.git
  80.  
  81. 本节所提供的代码实例 demo1-serv
  82.  
  83. 进入到测试代码目录,
  84.  
  85. 然后在服务端使用 telnet 进行测试
  86.  
  87. 首先,运行服务端的监听程序
  88. php demo1-serv.php
  89.  
  90. 执行这个命令后,服务器会显示:
  91.  
  92. Client: Connect.
  93. 另外开一个终端,使用 telnet 连接当前服务端监听的端口,并且输入一些文字,观察终端的变化。
  94. [root@php7 ~]# telnet 127.0.0.1
  95. Hi!
  96. Server: Hi!
  97.  
  98. 这里只是进行简单的模拟回复。客户端发什么,服务器就回应什么消息。
  99. 退出telnet,观察服务器会显示什么
  100. 直接关闭窗口,或者:
  101.  
  102. [root@php7 ~]# Ctrl+]
  103. [root@php7 ~]# telnet> quit
  104.  
  105. 此时,会在服务侧看到:
  106.  
  107. Client: Close.
  108. PS:如果测试环境没有安装 telnet ,请自行google安装

centos7+php7 swoole 安装的更多相关文章

  1. Centos7 PHP7 编译安装 开机自启动

    1.PHP7.0.13下载 wget http://cn2.php.net/get/php-7.0.13.tar.gz/from/this/mirror 2.解压 .tar.gz 3. 进入目录 cd ...

  2. 编译安装PHP7并安装Redis扩展Swoole扩展

    编译安装PHP7并安装Redis扩展Swoole扩展 在编译php7的机器上已经有编译安装过php5.3以上的版本,从而依赖库都有了 本php7是编译成fpm-php 使用的, 如果是apache那么 ...

  3. centos7.6编译安装php7.2.11及redis/memcached/rabbitmq/openssl/curl等常见扩展

    centos7.6编译安装php7..11及redis/memcached/rabbitmq/openssl/curl等常见扩展 获取Php的编译参数方法: [root@eus-api-cms-bac ...

  4. centos7下编译安装php-7.0.15(PHP-FPM)

    centos7下编译安装php-7.0.15(PHP-FPM) 一.下载php7源码包 http://php.net/downloads.php 如:php-7.0.15.tar.gz 二.安装所需依 ...

  5. 编译安装PHP7并安装Redis扩展Swoole扩展(未实验)

    用PECL自动安装Redis扩展.Swoole扩展 pecl install redis pecl install swool 编译安装PHP7并安装Redis扩展Swoole扩展 在编译php7的机 ...

  6. Linux Centos7.2 编译安装PHP7.0.2

    操作环境: 1.系统:Centos7.2 2.服务:Nginx 1.下载PHP7.0.2的安装包解压,编译,安装: $ cd /usr/src/ $ wget http://cn2.php.net/d ...

  7. Centos7.5 php7.2 安装pdo_sqlsrv 连接 sql server(转)

    Centos7.5 php7.2 安装pdo_sqlsrv 连接 sql server 转:https://blog.csdn.net/gdali/article/details/82912542   ...

  8. PHP7.2 、git、swoole安装

    一.安装php 1.安装gcc yum -y install gcc gcc-c++ 2.安装一些库 yum -y install php-mcrypt libmcrypt-devel libxml2 ...

  9. nginx+php7+mysql 在centos7.3下安装

    1.Nginx1.8.1   安装 1)安装 nginx 需要的扩展gcc,pcre-devel,zlib-devel, openssl openssl-devel yum -y install gc ...

随机推荐

  1. Java异常架构图及面试题---https://www.cnblogs.com/gaoweixiao99/p/4905860.html

    https://www.cnblogs.com/gaoweixiao99/p/4905860.html 红色为检查异常,就是eclipse要提示你是try catch 还是throws. 非检查异常, ...

  2. Decorator(装饰器模式)

    装饰器模式允许我们根据运行时不同的情景动态地为某个对象调用前后添加不同的行为动作. <?php class HtmlTemplate { // any parent class methods ...

  3. 【LeetCode】Palindrome Number(回文数)

    这道题是LeetCode里的第9道题. 题目说的: 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true 示例 2: ...

  4. 86. Spring Boot集成ActiveMQ【从零开始学Spring Boot】

    在Spring Boot中集成ActiveMQ相对还是比较简单的,都不需要安装什么服务,默认使用内存的activeMQ,当然配合ActiveMQ Server会更好.在这里我们简单介绍怎么使用,本节主 ...

  5. 算法复习——splay(bzoj3224)

    题目: Description 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:1. 插入x数2. 删除x数(若有多个相同的数,因只删除一个)3. 查询x数的排名(若有多个 ...

  6. ASP.NET2.0 ObjectDataSource的使用详解《转》

    原文发布时间为:2008-08-02 -- 来源于本人的百度文章 [由搬家工具导入] ASP.NET2.0 ObjectDataSource的使用详解(2) http://mqingqing123.c ...

  7. 标准C程序设计七---15

    Linux应用             编程深入            语言编程 标准C程序设计七---经典C11程序设计    以下内容为阅读:    <标准C程序设计>(第7版) 作者 ...

  8. php生成压缩包

    $filename = "./" . date ( 'YmdH' ) . ".zip"; // 最终生成的文件名(含路径) // 生成文件 $zip = new ...

  9. [UIScreen mainScreen].applicationFrame与[UIScreen mainScreen].bounds区别

    [UIScreen mainScreen].applicationFrame与[UIScreen mainScreen].bounds区别: applicationFrame会自动判断是否存在状态栏, ...

  10. 用canal监控binlog并实现mysql定制同步数据的功能

    业务背景 写任何工具都不能脱离实际业务的背景.开始这个项目的时候是因为现有的项目中数据分布太零碎,零零散散的分布在好几个数据库中,没有统一的数据库来收集这些数据.这种情况下想做一个大而全的会员中心系统 ...