Skip to main content

Rocky Linux 安装 phpbrew 及使用指南

phpbrew 是一个 PHP 多版本管理工具,允许你在同一系统上安装和管理多个 PHP 版本。

在 Rocky Linux 上安装 phpbrew

1. 安装必要依赖

sudo dnf install -y git curl wget make automake gcc gcc-c++ \
    kernel-devel bison re2c libxml2-devel openssl-devel \
    libcurl-devel libjpeg-turbo-devel libpng-devel libicu-devel \
    libxslt-devel libzip-devel bzip2-devel readline-devel \
    sqlite-devel oniguruma-devel

2. 安装 phpbrew

curl -L -O https://github.com/phpbrew/phpbrew/releases/latest/download/phpbrew.phar
chmod +x phpbrew.phar
sudo mv phpbrew.phar /usr/local/bin/phpbrew

3. 初始化 phpbrew

phpbrew init

将以下行添加到你的 shell 配置文件(如 ~/.bashrc~/.zshrc):

[[ -e ~/.phpbrew/bashrc ]] && source ~/.phpbrew/bashrc

然后重新加载 shell:

source ~/.bashrc  # 或 source ~/.zshrc

phpbrew 基本使用

1. 查看可用 PHP 版本

phpbrew known

2. 安装 PHP 版本

# 安装指定版本
phpbrew install 8.1 +default +openssl +fpm

# 安装带有额外扩展的版本
phpbrew install 8.0 +default +openssl +fpm +mysql +pgsql +gd

常用变体:

  • +default:包含常用扩展
  • +openssl:启用 OpenSSL 支持
  • +fpm:启用 PHP-FPM
  • +mysql:MySQL 支持
  • +pgsql:PostgreSQL 支持
  • +gd:GD 图像处理库

3. 列出已安装的 PHP 版本

phpbrew list

4. 切换 PHP 版本

# 临时切换(仅当前会话)
phpbrew use 8.1

# 设置为默认版本
phpbrew switch 8.1

5. 运行指定版本的 PHP

phpbrew php 8.1 -v

6. 安装扩展

# 查看可用扩展
phpbrew ext

# 安装扩展
phpbrew ext install xdebug 3.1.2

# 或从源码安装
phpbrew ext install https://pecl.php.net/get/xdebug-3.1.2.tgz

7. 清理构建文件

phpbrew clean

常见问题解决

1. 安装失败

如果安装失败,可以尝试:

phpbrew -d install 8.1  # 启用调试模式查看详细错误

2. 缺少依赖

根据错误信息安装缺少的依赖,例如:

sudo dnf install libffi-devel

3. 更新 phpbrew

phpbrew self-update

高级用法

1. 自定义编译选项

phpbrew install 8.1 \
    -- --with-libdir=lib64 \
    --with-openssl-dir=/usr/include/openssl

2. 并行编译加速

phpbrew -j $(nproc) install 8.1  # 使用所有CPU核心编译

3. 创建 fpm 服务

sudo cp ~/.phpbrew/php/php-8.1.0/sbin/php-fpm /usr/sbin/php-fpm8.1
sudo cp ~/.phpbrew/php/php-8.1.0/etc/php-fpm.conf.default /etc/php-fpm8.1.conf
sudo cp ~/.phpbrew/php/php-8.1.0/etc/php-fpm.d/www.conf.default /etc/php-fpm8.1.d/www.conf

然后可以创建 systemd 服务文件来管理 PHP-FPM。

卸载 phpbrew

  1. 删除 phpbrew 目录:
rm -rf ~/.phpbrew
  1. 从 shell 配置文件中移除 phpbrew 相关行

  2. 删除 phpbrew 可执行文件:

sudo rm /usr/local/bin/phpbrew

phpbrew 是管理多 PHP 环境的强大工具,特别适合需要在不同项目中使用不同 PHP 版本的开发者。