Linux 源码编译安装 Swoole 扩展

概述

Swoole 是 PHP 的高性能异步、并行、协程扩展,适用于构建高并发的网络应用。本文基于源码编译方式,详细介绍在 Linux 系统中安装 Swoole 扩展的完整步骤,包含依赖解决、配置编译、扩展启用及版本验证,确保安装过程顺畅可复用。

安装准备

1. 环境要求

  • 已安装 PHP 运行环境(需对应 PHP 版本兼容的 Swoole 版本)

  • Linux 系统(本文适配 CentOS 系列,其他发行版可替换对应包管理命令)

  • 具备服务器操作权限(root 或 sudo 权限)

2. 下载 Swoole 源码

安装步骤

1. 上传并解压源码

(1)将下载的源码压缩包上传至服务器 /root 目录(可根据实际需求修改存放路径)

(2)进入 /root 目录,解压源码包(以版本 4.4.16 为例,实际需替换为下载的文件名):

cd /root
tar -zxvf swoole-src-4.4.16.tar.gz

2. 生成 configure 配置文件

编译安装需先通过 phpize 工具生成 configure 文件(phpize 是 PHP 官方提供的扩展构建工具):

(1)进入解压后的 Swoole 源码目录:

cd /root/swoole-src-4.4.16

(2)执行 phpize 命令

phpize

3. 配置编译环境(configure)

通过 configure 命令检查系统环境是否满足依赖,并生成 Makefile 文件:

在源码目录执行配置命令:

./configure

4. 编译(make)

执行编译命令,将源码编译为可执行的扩展文件:

make

编译成功后,会在源码目录生成对应的编译产物(无需手动干预,等待命令执行完成即可)。

5.安装扩展(make install)

执行安装命令,这一步会将编译好的扩展文件复制到 PHP 扩展目录:

make install

安装成功后,会提示扩展安装路径(示例路径:/mySoft/php/lib/php/extensions/no-debug-non-zts-20180731/),该目录下会生成 swoole.so 文件(Swoole 扩展核心文件)。

6. 配置 PHP 启用 Swoole 扩展

(1)找到 PHP 配置文件 php.ini(可通过以下命令搜索路径):

find / -name php.ini

(2)编辑 php.ini 文件(本文示例路径为 /mySoft/php/lib/php.ini,实际替换为搜索到的路径):

vi /mySoft/php/lib/php.ini

(3)在 php.ini 文件中添加以下内容,启用 Swoole 扩展:

extension=swoole

(4)保存并退出编辑(vi 编辑器:按 Esc,输入 :wq 回车)。

验证安装

1. 查看 Swoole 版本

由于 Swoole 版本迭代较快,不同版本可能存在兼容性差异,安装后需验证版本:

php --ri swoole | grep Version

执行命令后,会输出当前安装的 Swoole 版本号,说明扩展已成功启用。

2. 测试扩展可用性

可创建简单的 PHP 脚本(如 swoole_test.php),内容如下:

<?php
if (extension_loaded('swoole')) {
    echo "Swoole 扩展已成功加载!\n";
    echo "Swoole 版本:" . SWOOLE_VERSION . "\n";
} else {
    echo "Swoole 扩展未加载!\n";
}

执行脚本:

php swoole_test.php

若输出扩展加载成功及版本信息,则说明 Swoole 可正常使用。

五、注意事项

  1. PHP 版本与 Swoole 版本需兼容,安装前建议查阅 Swoole 官方文档确认适配关系。

  2. phpizephp.ini 的路径需根据实际 PHP 安装目录调整,避免路径错误导致安装失败。

  3. 编译过程中若出现其他依赖缺失报错,可根据报错信息通过 yum 或源码安装对应依赖包。

  4. 安装完成后,若需重启 Web 服务器(如 Nginx、Apache),确保扩展生效(仅 CLI 模式使用可无需重启)。