PHP安装Swoole扩展

简介: 前言:之前有尝试使用源码安装php7,本次分享主要是学习安装了Swoole.我听过一个大牛曾经说过,Swoole是php的新世界,不会使用Swoole的php工程师不是一名合格的php工程师.

前言:

之前有尝试使用源码安装php7,本次分享主要是学习安装了Swoole.我听过一个大牛曾经说过,Swoole是php的新世界,不会使用Swoole的php工程师不是一名合格的php工程师.我一听,那还得了.赶紧学习

下载安装包

swoole官网里有下载版本,选择你需要的版本,会跳转到swoole的一个码云或者是一个github
都是使用的git.那这个就比较方便了.直接git clone下来就可以了

git clone https://gitee.com/swoole/swoole.git

克隆下来就会有个文件名叫swoole的安装包


克隆下来的安装包

编译安装

其实安装Swoole的思路和安装php大体是一样的.都是先编译configure 然后make && make install
但是当我进入swoole的文件时,发现并没有我们熟悉的configure文件
其实安装这种扩展分为两种:

  1. 编译php时候安装的扩展
  2. php安装完成后,外挂到php上的扩展
    我们这里的Swoole就是属于第二种.我们要让Swoole变成我们php外挂模块,则需要一个php命令
    那就是phpize
    如果配置了环境变量则可以直接使用phpize命令
phpize
有可能会遇到的报错

如果报这个错的话,就是没有安装autoconf
解决方案也简单

yum install autoconf

安装完成后,再一次使用phpize就可以了
如果没有报错的话,我们再查看下安装包里的文件,就可与发现里面多了些之前没有的文件,报错我们需要的configure文件也有了


多了些文件

那么现在我们就可以执行编译了,同样 我们可以使用 configure --help 查看可以配置信息

#我们编译需要指定一个php-config的文件
./configure --with-php-config=/service/php/bin/php-config

如过出现一下报错


报错截图

出现该情况是由于c++编译器的相关package没有安装

解决方法就是安装一个c++的编辑器

yum install gcc-c++

安装完成后,直接重新编译.编译成功后依然还是老套路

make && make install
安装完成

如图显示,我们的扩展编译到了这个目录面去了.在linux中扩展文件的后缀一般是.so

检查扩展

我们cd到扩展目录查看


扩展文件

如图我们的扩展目录里面已经有了swoole.so文件,说明我们已经安装成功.


6月4日更新
虽然我们之前已经安装好了swoole,但是我们的php现在还并不能使用它,因为我们知道php安装扩展是需要在php.ini中去配置一下才能生效的

;加入swoole扩展
extension=swoole

只需要这一句代码就可以了

那么现在我们如何去判断swoole到和php双剑合璧了吗?

那么这里我们就要用到swoole安装包里的demo

#这里是swoole安装包的位置里面的examples文件夹下的server文件夹
cd /root/downloads/swoole/examples/server

里面有个echo.php


echo.php里面的内容

这是一个php使用swoole的一个demo
我们现在试着运行下这个demo

php echo.php

我们发现我们使用的php命令进入了持续执行的状态,如下图.说明我们的swoole服务启动了

持续执行状态

那么我来佐证下我们的观点,之前我们echo.php中发现,swoole服务需要监听9051端口
那么我看看9051端口的状态便知道是否在运行了

lsof -i:9501
端口状态

那么现在我们尝试关掉echo.php的进程呢?
我们使用Ctrl+C来关闭echo.php的执行


关闭执行

我再次查看端口状态

端口状态

我们发现端口并没有被占用了.这也进一步证明了我们的swoole服务是安装好了

好了关于swoole 先展示写到这里,这篇文章我会继续更新.如果有写错的地方,希望大神指正谢谢

以上

相关文章
|
3月前
|
运维 Unix Linux
Linux系统 PHP安装expect扩展详解
Linux系统 PHP安装expect扩展详解
41 5
|
5月前
|
Linux 应用服务中间件 PHP
Linux下搭建PHP环境-源码编译安装PHP7.2
Linux下搭建PHP环境-源码编译安装PHP7.2
165 0
|
13天前
|
编译器 API PHP
深入PHP扩展开发:打造高效自定义模块
【4月更文挑战第30天】 在追求性能优化和特定功能实现的道路上,PHP提供了一种强大机制——扩展。本文将引导读者通过编写一个简单的PHP扩展来探索扩展开发的世界。我们将涉及从环境搭建到代码实现,再到扩展的编译与加载的完整流程,确保读者能够理解并实践如何创建高效的自定义PHP模块。
|
1月前
|
NoSQL Linux PHP
php添加redis扩展 linux和windos图文详解 l
php添加redis扩展 linux和windos图文详解 l
5 0
|
1月前
|
Ubuntu PHP
ubuntu16.04 卸载 php7并安装php5.6记录
ubuntu16.04 卸载 php7并安装php5.6记录
|
2月前
|
缓存 Linux PHP
yum安装PHP
yum安装PHP
57 3
|
2月前
|
应用服务中间件 Linux PHP
Linux下安装php环境并且配置Nginx支持php-fpm模块
Linux下安装php环境并且配置Nginx支持php-fpm模块
34 0
|
4月前
|
PHP Windows
php扩展com_dndnet(PHP与.NET框架进行交互)
php扩展com_dndnet(PHP与.NET框架进行交互)
php扩展com_dndnet(PHP与.NET框架进行交互)