PHP7安装Swoole的方法

环境

这里不在使用apache做为web server。该用nginx + php-fpm,性能更强大,配置更方便。并且为了跟上php的步伐,也使用了比较新的php版本

[x] centos7

[x] php7.0.12

[x] nginx/1.10.2

[x] php-fpm

下载 swoole

首先下载swoole的源码包,这个操作很简单,没有太多说的。

wget -c https://github.com/swoole/swoole-src/archive/v2.0.6.tar.gz

解压:

tar -zxvf v2.0.6.tar.gz
cd swoole-src-2.0.6/

编译&安装

使用phpize来生成php编译配置

./configure 来做编译配置检测

make进行编译,make install进行安装

命令执行:

[root@php7 swoole-src-2.0.6]# phpize
[root@php7 swoole-src-2.0.6]# ./configure
[root@php7 swoole-src-2.0.6]# make && make install

make install后,如果正确,会出现以下内容

[root@php7 swoole-src-2.0.6]# make install
Installing shared extensions:     /usr/lib64/php/modules/

这表示,在 /usr/lib64/php/modules/ 目录中,成功生成了 swoole.so 文件

修改配置文件

要能够使用该模块,还需要在 php.ini 文件中添加该模块。

这里需要注意,php7的模块配置文件均单独分开了。

在 php.ini 中可找到如下内容

;;;; 
; Note: packaged extension modules are now loaded via the .ini files 
; found in the directory /etc/php.d; these are loaded by default. 
;;;;

因此,如果你的php安装时,如果未特殊设置,可以在/etc/php.d 目录中,找到添加模块的配置文件。

进入到 cd /etc/php.d 目录,完成相关的配置

[root@php7 swoole-src-2.0.6]# vim swoole.ini
; Enable swoole extension module
extension=swoole.so

重启服务

新增php模块后,需要重新启动服务,才会生效,如果有时候restart后依然无效,请先关闭,再重新启动。

[root@php7 swoole-src-2.0.6]# systemctl restart nginx
[root@php7 swoole-src-2.0.6]# systemctl restart php-fpm

通过php -m或phpinfo()来查看是否成功加载了swoole

swoole 代码的自动提示

安装好扩展后,就是使用的问题。由于没有代码的提示,有时候很不方便,github上有人已经提供了swoole代码提示的 ide-helper 。具体设置办法如下:

这里以: phpStorme 为例,download 代码到本地

git clone git@github.com:eaglewu/swoole-ide-helper.git ide-helper

经过以上步骤,可以在 phpStorme 中使用swoole了。并且提供代码提示。

简单测试

所有的测试代码均放在这里

请将该代码 clone 到本地,方便观察效果。

git clone git@github.com:helei112g/learn-swoole.git

本节所提供的代码实例 demo1-serv

进入到测试代码目录,

然后在服务端使用 telnet 进行测试

首先,运行服务端的监听程序

php demo1-serv.php

执行这个命令后,服务器会显示:

Client: Connect.

另外开一个终端,使用 telnet 连接当前服务端监听的端口,并且输入一些文字,观察终端的变化。

[root@php7 ~]# telnet 127.0.0.1 9999
Hi!
Server: Hi!

这里只是进行简单的模拟回复。客户端发什么,服务器就回应什么消息。

退出telnet,观察服务器会显示什么

直接关闭窗口,或者:

[root@php7 ~]# Ctrl+]
[root@php7 ~]# telnet> quit

此时,会在服务侧看到:

Client: Close.

PS:如果测试环境没有安装 telnet ,请自行google安装。

原创文章,作者:PVJRW,如若转载,请注明出处:http://www.wangzhanshi.com/n/8256.html

(0)
PVJRW的头像PVJRW
上一篇 2025年1月1日 16:43:01
下一篇 2025年1月1日 16:43:03

相关推荐

  • PHP 7和PHP 5中的对象之间的差异

    一、 class 介绍    PHP 中的 class、interface、trait 在底层均以 zend_class_entry 结构体实现 struct _zend…

    2025年1月1日
  • phpstudy无法启动MySQL服务的解决方法

    解决phpstudy无法启动MySQL服务 使用phpstudy的理由: 因为MySQL的服务默认自动打开我的电脑每次重启都需要我去任务管理器中把mysqld删掉然后再用管理员身份…

    2024年12月17日
  • 出php7的时间

    2015年6月11日,PHP开发团队宣布将立即提供PHP7.0.0 Alpha1。此版本标志着PHP 7主要系列的开始。鼓励所有PHP用户仔细测试该版本,并报告错误跟踪系统中的所有…

    php 2025年1月1日
  • Windows7下PHP7运行环境搭建的方法

    php7号称能直追facebook的HHVM,为了体验一把传说中的高性能,我特意在本地电脑上尝试着安装了php7,不得不承认,php7的运行环境相对于之前的php5来说还是有一点苛…

    2025年1月1日
  • php7的主要新特性有哪些

    截止到目前为止,PHP官方已经发布了最新版本是php7.2而php6版本被跳过直接迎来了php7。 PHP 7.0.0 Alpha 1 使用新版的ZendEngine引擎,带来了许…

    2025年1月1日
  • php基础教程

    php简介 当前网络技术发展日新月异,各种基于服务端创建动态网站的脚本语言更是层出不穷。其中PHP以其简单、易用、可移植性强等特点,在众多的动态网站语言技术中独树一帜。那么到底什么…

    php 2024年12月17日
  • PHP7常用新特性是什么

    1.PHP 标量类型与返回值类型声明 PHP 7 增加了标量类型声明的特性,标量类型声明有两种模式: 强制模式 (默认) 严格模式 2.PHP NULL 合并运算符  P…

    php 2025年1月1日
  • 如何开启Laravel对PHP8的支持

    PHP 8已经官方发布了! 我们一直在努力地为所有我们的库提供支持,以便使用Laravel轻松升级到PHP 8。 首先,请确保您使用的是最新版本的Laravel 6、7或8,以获得…

    php 2025年1月2日
  • CentOS下PHP7的编译安装及MySQL的支持和一些常见问题如何解决

    最近试了一下PHP7,在编译和支持MySQL上都遇到一些问题,相信不少同学也同样遇到,所以在这里聊一下这个过程。简单来讲编译PHP7只需要3步: 1、./buildconf &#8…

    2025年1月1日
  • PHP7 源码整体框架的示例分析

    一、PHP7语言执行原理 常用的高级语言有很多种,根据运行的方式不同,大体分为两种:编译型语言和解释型语言。 编译是指在应用源程序执行之前,就将程序源代码“翻译”成汇编语言,然后进…

    2025年1月1日

发表回复

登录后才能评论