hyperf 必须通过 composer 安装,pecl 仅用于安装其依赖的 c 扩展(如 swoole、redis、protobuf);需在 centos 中用 pecl install 安装扩展、手动写入 php.ini 启用、禁用 opcache.enable_cli,并执行 composer create-project 安装框架。

在 CentOS 中,PECL 本身不提供 Hyperf 的安装——Hyperf 是一个 PHP 框架,不是 PECL 扩展。PECL 只能安装 C 编写的 PHP 扩展(如 swoole、redis、protobuf),而 Hyperf 必须通过 Composer 安装。
但你真正需要的,其实是:用 PECL 快速装好 Hyperf 运行所依赖的核心扩展。以下是针对 CentOS 的清晰、可执行步骤:
✅ 确保基础环境就绪
- CentOS 7/8/9 均可(推荐 CentOS 8 或 9,对 PHP 8.x 支持更稳)
- 已安装 PHP ≥ 8.0(建议 8.1+):
php -v
- 已安装
php-devel、gcc、make、autoconf:sudo yum groupinstall "Development Tools" sudo yum install -y php-devel gcc make autoconf
✅ 用 PECL 安装 Hyperf 必需的扩展(关键三件套)
| 扩展名 | 作用 | PECL 安装命令 |
|---|---|---|
| swoole | Hyperf 底层协程引擎,必须启用协程 | sudo pecl install swoole |
| redis | 缓存、锁、队列等常用组件依赖 | sudo pecl install redis |
| protobuf | 若使用 hyperf/tracer、hyperf/grpc-client 等组件时必需 |
sudo pecl install protobuf |
⚠️ 注意:安装后需手动启用扩展。例如:
echo "extension=swoole.so" | sudo tee -a /etc/php.ini echo "extension=redis.so" | sudo tee -a /etc/php.ini echo "extension=protobuf.so"| sudo tee -a /etc/php.ini
验证是否生效:
php -m | grep -E "(swoole|redis|protobuf)" php --ri swoole | grep "coroutine => enabled" # 必须显示 enabled
✅ 补充:检查并禁用 CLI 模式下的 OPcache(易忽略!)
Hyperf 在 CLI 下运行时,若 opcache.enable_cli=1,会导致协程调度异常甚至静默退出。
编辑 /etc/php.ini,确保有:
opcache.enable_cli = 0
然后重启终端或验证:
php -i | grep "opcache.enable_cli"
✅ 最后一步:用 Composer 安装 Hyperf(不是 PECL!)
# 全局安装 Composer(如未装) curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer # 创建项目(跳过交互,避免误装非必需组件) composer create-project hyperf/hyperf-skeleton myapp --no-interaction cd myapp composer require hyperf/http-server # 必装,否则无法响应 HTTP 请求 # 首次启动前生成 DI 代理类(防 Class not found) php bin/hyperf.php di:generate # 启动 php bin/hyperf.php start
访问 http://你的IP:9501 即可验证。
不复杂但容易忽略。核心就三点:PECL 装对扩展、php.ini 配对路径、CLI 关 opcache。











