热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Swoole学习——1、源码安装php7和swoole扩展

swoole简介swoole是面向生产环境的PHP异步网络通信引擎,PHP开发人员可以编写高性能的异步并发TCP、UDP、UnixSocket、HTTP,WebSocket服务。S

swoole简介

swoole是面向生产环境的 PHP 异步网络通信引擎,PHP 开发人员可以编写高性能的异步并发 TCP、UDP、Unix Socket、HTTP,WebSocket 服务。Swoole 可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。 使用 PHP + Swoole 作为网络通信框架,可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品。

swoole特性

Swoole 使用纯 C 语言编写,提供了 PHP 语言的异步多线程服务器,异步 TCP/UDP 网络客户端,异步 MySQL,异步 Redis,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。 Swoole内置了Http/WebSocket服务器端/客户端、Http2.0服务器端。

除了异步 IO 的支持之外,Swoole 为 PHP 多进程的模式设计了多个并发数据结构和IPC通信机制,可以大大简化多进程并发编程的工作。其中包括了并发原子计数器,并发 HashTable,Channel,Lock,进程间通信IPC等丰富的功能特性。

Swoole2.0 支持了类似 Go 语言的协程,可以使用完全同步的代码实现异步程序。PHP 代码无需额外增加任何关键词,底层自动进行协程调度,实现异步。

准备工作

  • 编译安装首先下载php的安装包(建议到PHP官网下载链接)
  • 下载swoole安装包链接

安装php

1、解压php的压缩包

tar -zxcf php-7.2.16.tar.bz2

Swoole学习——1、源码安装php7和swoole扩展
2、进入解压的php目录

cd php-7.2.16

3、需要支持gcc和autoconf包(已安装则跳过)

yum install -y gcc-c++
yum install -y autoconf

4、编译安装php
Swoole学习——1、源码安装php7和swoole扩展

./configure --prefix=’/home/learn/swoole/php/’ 编译安装配置
make #编译
make install #执行安装

5、测试运行php

  • 进入php的安装目录

cd /home/learn/swoole/php/ #软件安装路径

  • 查看目录文件
    Swoole学习——1、源码安装php7和swoole扩展
  • 创建php测试文件 test.php
    Swoole学习——1、源码安装php7和swoole扩展

./bin/php test.php #输出hello wordl则成功

6、简化php执行命令

vim ~/.bash_profile #添加系统环境变量
添加alias php=’/home/learn/swoole/php/bin/php’
alias 命令=‘执行路径’
Swoole学习——1、源码安装php7和swoole扩展

  • 测试

source ~/.bash_profile #重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录
php test.php #成功输出

安装swoole

1、解压已下载好的安装包

cd swoole #进入swoole目录

2、生成configure执行编译配置文件

/home/learn/swoole/php/bin/phpize #用php的phpize生成编译执行文件
./configure --with-php-cOnfig=’’/home/learn/swoole/php/bin/php-config" #编译配置时 要将php-config的路径附上
make #编译
make install #执行安装

Swoole学习——1、源码安装php7和swoole扩展

  • swoole扩展已经安装生成文件放在php扩展目录里
  • 查看生成的swoole扩展文件
    Swoole学习——1、源码安装php7和swoole扩展

3、运行测试swoole

  • 修改php.ini配置文件 开启swoole模块

extenstion=swoole #添加(开启)swoole模块

  • 测试swoole服务

cd /home/learn/swoole/swoole/examples/server #进入到swoole目录下的examples/server目录
cat echo.php #echo.php文件是测试swoole服务的demo文件
Swoole学习——1、源码安装php7和swoole扩展

php echo.php #运行测试 无错误返回则已开启服务
telnet 127.0.0.1 9501 #远程连接测试 swoole服务默认端口9501

Swoole学习——1、源码安装php7和swoole扩展
Swoole学习——1、源码安装php7和swoole扩展


推荐阅读
  • 闲话少说,直接切入主题,之前也是用一下其他的IDE,但是总是在vi和IDE之间来回切换,比较麻烦,于是乎,找了几个插件亲身体验,功能挺不错;1、安装vi7.0vim的官方网站是:www.vmuni ... [详细]
  • Swoole是针对PHP的生产级异步编程框架。它是一种用纯C语言编写的PHP扩展,它使PHP开发人员能够在PHP中编写高性能,可扩展的并发TCP ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • UDP协议开发
    UDP是用户数据报协议(UserDatagramProtocol,UDP)的简称,其主要作用是将网络数据流量压缩成数据报形式,提供面向事务的简单信息传送服务。与TCP协议不同,UD ... [详细]
  • 在Java程序中使用多线程要比在C或C++中容易得多,这是因为Java编程语言提供了语言级的支持。为什么会排队等待?下面的这个简单的Java程序完成四项不相关的任 ... [详细]
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • windows安装phpstorm百度phpstorm,进入官网:https:www.jetbrains.comphpstorm下载phpstormwindows。如 ... [详细]
  • 一、域名解析记录说明记录类型A:用来指定域名的IPv4地址(如:8.8.8.8),如果需要将域名指向一个IP ... [详细]
  • Lunix历史及如何学习
    1.Lunix是什么1.1Lunix是操作系统还是应用程序Lunix是一套操作系统,它提供了一个完整的操作系统当中最底层的硬件控制与资源管理的完整架构, ... [详细]
  • 102安装Linux系统
    安装Linux系统 安装CentOS系统准备系统光盘插入CentOS7光盘,引导安装程序设置主机,将光盘作为第一-引导设备从CentOS7光盘启动主机检测安装光盘的完整性从ISO镜 ... [详细]
  • Nginx简介Nginx(enginex)是一个高性能的HTTP和反向代理服务器,也是一个IMAPPOP3SMTP代理服务器。Nginx是由IgorSysoev为 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
author-avatar
苏小明2602896955
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有