Hyperf是一款基于Swoole扩展的高性能PHP协程框架,支持常驻内存运行,能够大幅提升PHP应用的响应性能,在Ubuntu等Linux发行版上部署是使用Hyperf的常见场景。下面会按照实际操作流程逐步说明部署的每一步。

环境准备要求
在Ubuntu系统上部署Hyperf之前,需要先确认系统满足以下基础条件:
- Ubuntu系统版本建议在18.04及以上,本文操作基于Ubuntu 22.04 LTS版本
- PHP版本需要7.4及以上,推荐7.4或者8.0版本,本文使用PHP 8.0
- 需要安装Swoole扩展,版本要求4.5及以上
- 需要安装Composer包管理工具,版本2.0及以上
安装PHP及Swoole扩展
首先更新系统软件源,然后安装PHP 8.0及相关依赖:
# 更新软件源 sudo apt update # 安装PHP 8.0及常用扩展 sudo apt install php8.0 php8.0-cli php8.0-common php8.0-curl php8.0-mbstring php8.0-mysql php8.0-xml php8.0-zip -y
接下来安装Swoole扩展,推荐使用PECL方式安装最新稳定版:
# 安装PECL工具 sudo apt install php-pear -y # 安装Swoole扩展 sudo pecl install swoole
安装完成后,需要在PHP配置文件中添加Swoole扩展的加载项:
# 创建Swoole扩展配置文件 echo "extension=swoole.so" | sudo tee /etc/php/8.0/cli/conf.d/20-swoole.ini # 验证Swoole是否安装成功 php -m | grep swoole
如果输出swoole字样,说明Swoole扩展已经成功安装。
安装Composer包管理工具
Hyperf项目通过Composer管理依赖,需要先安装Composer:
# 下载Composer安装脚本 curl -sS https://getcomposer.org/installer | php # 将Composer移动到全局可执行目录 sudo mv composer.phar /usr/local/bin/composer # 验证Composer安装成功 composer --version
建议配置Composer国内镜像源,加快后续依赖下载速度:
composer config -g repo.packagist composer https://mirrors.ipipp.com/composer/
创建并启动Hyperf项目
使用Composer创建Hyperf项目,这里创建名为hyperf-demo的项目:
# 创建项目 composer create-project hyperf/hyperf-skeleton hyperf-demo # 进入项目目录 cd hyperf-demo
项目创建完成后,需要修改环境配置文件,设置对应的服务端口等信息,默认配置已经可以直接启动:
<?php // 项目根目录下的.env文件部分配置示例 SERVER_PORT=9501 APP_NAME=hyperf-demo
启动Hyperf服务:
# 启动服务 php bin/hyperf.php start
如果看到类似Hyperf started successfully的提示,说明服务已经启动成功。可以通过curl命令验证服务是否正常响应:
curl http://127.0.0.1:9501
如果返回Hyperf的默认欢迎页面内容,说明整个部署流程已经完成。
常见问题说明
端口被占用问题
如果启动时报端口被占用的错误,可以修改.env文件中的SERVER_PORT配置,更换为未被占用的端口即可。
Swoole扩展加载失败
如果PHP -m看不到swoole扩展,需要检查/etc/php/8.0/cli/conf.d/目录下的配置文件是否正确,确保extension=swoole.so配置存在。
Composer安装依赖超时
如果出现依赖下载超时的情况,可以检查Composer镜像源是否配置正确,或者更换其他可用的国内镜像源。