php 之 swoole扩展安装
本文将简单介绍Swoole的应用领域,及php安装Swoole扩展流程,按照本章节操作流程,你可以成功安装Swoole扩展。在编译安装过程中,会遇到各种环境影响,读者环境与作者环境不一样.编译报错也不一样,本文安装过程顺利, 特此总结, 一般常见报错gcc版本问题,以及安装成功后扩展冲突等问题。更多安装问题及解决办法 请详查 官网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
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版本
#克隆下载指定标签版本
[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
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
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官网
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)