php 之 swoole扩展安装


前言

本文将简单介绍Swoole的应用领域,及php安装Swoole扩展流程,
按照本章节操作流程,你可以成功安装Swoole扩展。


一、swoole是什么?

Swoole 是一个使用 C++ 语言编写的基于异步事件驱动和协程的并行网络通信引擎,为 PHP 提供协程、高性能网络编程支持。提供了多种通信协议的网络服务器和客户端模块,可以方便快速的实现 TCP/UDP服务、高性能Web、WebSocket服务、物联网、实时通讯、游戏、微服务等,使 PHP 不再局限于传统的 Web 领域。

二、安装步骤

1.确定服务器php版本,及现有扩展

本章节将对 php 7.4.33 安装swoole扩展
现有某些调试扩展会与swoole扩展冲突

[root@iZbp1a6rq18exzu6f75ghgZ ~]# php -v
PHP 7.4.33 (cli) (built: Nov  4 2023 13:16:11) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
[root@iZbp1a6rq18exzu6f75ghgZ ~]#  php -mi
[PHP Modules]
bz2
Core
ctype
curl
date
dom
fileinfo
filter
gd
hash
iconv
json
libxml
mbstring
openssl
pcre
PDO
pdo_sqlite
Phar
posix
redis
Reflection
session
SimpleXML
SPL
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter

swoole冲突的php其他扩展

2.确定PHP配置文件php.ini位置

确定php.ini位置,该位置一个是有 php全局命令确定,一个是由php-fpm启动的进程,由PHP函数 phpinfo()确定,位置为: /soft/php_7_4_33/lib/php.ini

[root@iZbp1a6rq18exzu6f75ghgZ ~]# php -i | grep ini
Configuration File (php.ini) Path => /soft/php_7_4_33/lib
Loaded Configuration File => /soft/php_7_4_33/lib/php.ini
Scan this dir for additional .ini files => (none)
Additional .ini files parsed => (none)
user_ini.cache_ttl => 300 => 300
<?php
phpinfo(); // 确定php.ini位置

在这里插入图片描述

3.确定服务器php的bin目录位置及gcc版本

确定php安装目录为 /soft/php_7_4_33/bin/php

[root@iZbp1a6rq18exzu6f75ghgZ html]# whereis php
php: /soft/php_7_4_33/bin/php
[root@iZbp1a6rq18exzu6f75ghgZ html]# 
[root@iZbp1a6rq18exzu6f75ghgZ bin]# cd /soft/php_7_4_33/bin
[root@iZbp1a6rq18exzu6f75ghgZ bin]# cd ../
[root@iZbp1a6rq18exzu6f75ghgZ php_7_4_33]# ls
bin  etc  include  lib  php  sbin  var

在这里插入图片描述

4.确定swoole与php适配版本

在swoole官网查询适配版本
https://wiki.swoole.com/#/version/supported
在这里插入图片描述

5.gitee下载指定swoole版本

gitee下载网址

#克隆下载指定标签版本
[root@iZbp1a6rq18exzu6f75ghgZ soft]# pwd
/soft
[root@iZbp1a6rq18exzu6f75ghgZ soft] git clone  -b v4.8.0   https://gitee.com/swoole/swoole.git
[root@iZbp1a6rq18exzu6f75ghgZ soft]# ls | grep swoole
swoole
[root@iZbp1a6rq18exzu6f75ghgZ soft]#

6.配置swoole编译安装路径,及编译安装

进入swoole下载目录分别执行如下命令

[root@iZbp1a6rq18exzu6f75ghgZ soft]# cd swoole
[root@iZbp1a6rq18exzu6f75ghgZ swoole]# phpize
[root@iZbp1a6rq18exzu6f75ghgZ swoole]#./configure --with-php-config=/soft/php_cmd/bin/php-config
[root@iZbp1a6rq18exzu6f75ghgZ swoole]# make && make install
[root@iZbp1a6rq18exzu6f75ghgZ swoole]# make test

make test 成功示意图

7.查看扩展安装目录,及修改php.ini加载swoole扩展

查看扩展安装的目录,修改php.ini文件

# 查看swoole
[root@iZbp1a6rq18exzu6f75ghgZ php_cmd]# cd /soft/php_cmd/lib/php/extensions/
[root@iZbp1a6rq18exzu6f75ghgZ extensions]# 
[root@iZbp1a6rq18exzu6f75ghgZ extensions]# 
[root@iZbp1a6rq18exzu6f75ghgZ extensions]# ls
no-debug-non-zts-20190902
[root@iZbp1a6rq18exzu6f75ghgZ extensions]# 
[root@iZbp1a6rq18exzu6f75ghgZ extensions]# cd no-debug-non-zts-20190902/
[root@iZbp1a6rq18exzu6f75ghgZ no-debug-non-zts-20190902]# ls
opcache.a  opcache.so  redis.so  swoole.so
# 查看php.init
[root@iZbp1a6rq18exzu6f75ghgZ lib]# pwd
/soft/php_cmd/lib
[root@iZbp1a6rq18exzu6f75ghgZ lib]# ls
php  php.ini  php.ini-development
# 修改配置文件
[root@iZbp1a6rq18exzu6f75ghgZ lib]# vim php.ini

php.ini加载swoole

8.查看php扩展安装是否成功

[root@iZbp1a6rq18exzu6f75ghgZ lib]# php -mi | grep swoole
swoole
[root@iZbp1a6rq18exzu6f75ghgZ lib]#

查看扩展备注: php-fpm web查看需要重启php-fpm 重新加载php.ini文件 php-cli 不需要


总结

在编译安装过程中,会遇到各种环境影响,读者环境与作者环境不一样.编译报错也不一样,本文安装过程顺利, 特此总结, 一般常见报错gcc版本问题,以及安装成功后扩展冲突等问题。更多安装问题及解决办法 请详查 官网 swoole官网,swoole已成功安装,在此向读者推荐好用的swoole框架easyswoole,详情查看easyswoole官网

  • 23
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值