Swoole入门教程:CentOS7中安装PHP7安装Swoole扩展详细步骤

Swoole:面向生产环境的 PHP 异步网络通信引擎

使 PHP 开发人员可以编写高性能的异步并发 TCP、UDP、Unix Socket、HTTP,WebSocket 服务

Swoole 可以用来做网络通信、异步操作文件、毫秒级定时器等等,今天就来说一下 Swoole 入门前的准备工作:安装 PHP7 和 Swoole 扩展

安装PHP7

Swoole 作为 PHP 的扩展,必不可少的就是 PHP 了

Swoole 虽然是标准的PHP扩展,实际上与普通的扩展不同。普通的扩展只是提供一个库函数,而 Swoole 扩展在运行后会接管PHP的控制权,进入事件循环,当IO事件发生后,Swoole 会自动回调指定的PHP函数

先进入到一个目录中,获取我们的PHP包,进行解压

$ cd /usr/local/src/
$ wget http://cn2.php.net/distributions/php-7.1.6.tar.bz2
$ tar jxvf php-7.1.6.tar.bz2

解压完成后,进入到PHP的目录当中进行配置,使用如下命令

$ cd php-7.1.6/
$ ./configure --prefix=/usr/local/php7

在配置结束可能会报错,如下图

报错:checking for gcc... no,表示没有安装gcc,使用以下命令进行安装

$ yum -y install gcc
$ yum -y install libxml2 libxml2-devel

同样也可能会报错checking libxml2 install dir... no,所以也最好安装一下

看到如上图所示就表示配置成功了,下一步,进行编译安装。使用命令:

$ make && make install

如果报错-bash:make:command not found,是因为安装系统的时候使用的是最小化mini安装,系统没有安装make、vim等常用命令,直接yum安装下即可

$ yum -y install make

如下图所示,表示为编译成功

开始下一步操作,复制配置文件到PHP目录中,命令:

$ cp /usr/local/src/php-7.1.6/php.ini-development /usr/local/php7/lib/php.ini

然后一切完成后,我们需要将PHP加入环境变量中,打开环境变量配置文件,写入以下配置,然后重启服务器或者使用命令让终端生效配置

$ # 打开环境变量配置文件
$ vi ~/.bash_profile
$ # 写入以下配置
$ alias php=/usr/local/php7/bin/php #PHP目录
$ # 让终端生效
$ source ~/.bash_profile

如果没有报错,使用php -v能够查看版本号表示配置成功,也就是我们的PHP7安装成功

安装Swoole

使用命令获取 Swoole 的包,Swoole 项目已收录到PHP官方扩展库,除了手工下载编译外,还可以通过PHP官方提供的pecl命令,一键下载安装 Swoole

$ yum install pcre-devel
$ pecl install swoole
$ # 或者手动安装
$ wget http://pecl.php.net/get/swoole-2.2.0.tgz
$ tar zxvf swoole-2.2.0.tgz

解压以后进入到Swoole的目录当中,通过PHP的phpize文件生成swoole的配置文件

如果报错Cannot find autoconf的话,使用yum安装一下

$ yum -y install m4 autoconf

然后再执行下面的操作,就可以生成成功,成功以后目录下如图的绿色文件

$ ./configure --with-php-config=/usr/local/php7/bin/php-config

生成成功以后,我们就可以进行下一步操作:使用make命令进行编译安装,编译安装成功以后如下图所示

编译安装完成以后配置php.ini,加入一下配置

$ extension=swoole.so

通过php -mphpinfo()来查看是否成功加载了Swoole,如果没有可能是php.ini的路径不对,可以使用php --ini来定位到php.ini的绝对路径,加载到了就表明Swoole安装成功

沈唁志|一个PHPer的成长之路! 原创文章采用CC BY-NC-SA 4.0协议进行许可,转载请注明:转载自:Swoole入门教程:CentOS7中安装PHP7安装Swoole扩展详细步骤

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算教程系列

如何在Ubuntu 18.04上安装和配置Ansible

配置管理系统旨在使管理员和运营团队轻松控制大量服务器。它们允许您从一个中心位置以自动方式控制许多不同的系统。

78230
来自专栏性能与架构

Web安全 - 跨站请求伪造攻击CSRF

跨站请求伪造攻击,简称CSRF(Cross-site request forgery),CSRF通过伪装来自受信任用户的请求实现攻击 CSRF的原理 CSRF主...

38470
来自专栏互联网大杂烩

Structs框架

Structs框架结构采用MVC设计模式,同时包含客户端(client),请求以及业务逻辑处理(Business Logic),而MVC模式主要由模型(Mode...

8420
来自专栏Spark学习技巧

Kafka单节点至集群的安装部署及注意事项

kafka简介 kafka的重要作用: 发布和订阅 像消息传递系统一样读写数据流。 处理 编写实时响应事件的可伸缩流处理应用程序 存储系统 将数据流安全地存储...

44170
来自专栏逸鹏说道

无法启动WP Emulator

无法启动WP Emulator ? 记得以前Vware不能运行设置的东西了吗?http://www.cnblogs.com/dunitian/p/4480750...

29950
来自专栏猛牛哥的博客

ks3c开的nat小鸡解决ftp的PASV端口问题

23540
来自专栏Hadoop实操

如何永久删除Kafka的Topic

使用kafka-topics --delete命令删除topic时并没有真正的删除,而是把topic标记为:“marked for deletion”,导致重新...

64060
来自专栏zcqshine's blog

CentOS yum 升级php(5.4-5.5)

53670
来自专栏Linyb极客之路

消息中间件之RcoketMQ单机版安装

一、RocketMQ安装环境 64bit linux 64bit jdk1.8+ maven 3.2.x git(不一定需要) 本文安装环境为centos7....

42690
来自专栏IT技术精选文摘

Nginx入门指南

NGINX 是一款来自俄罗斯的HTTP 和反向代理(reverse proxy)服务器、邮件服务器,以及通用的 TCP/UDP 代理服务器,以其高性能被业界广泛...

232100

扫码关注云+社区

领取腾讯云代金券