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
- 删除 phpbrew 目录:
rm -rf ~/.phpbrew
-
从 shell 配置文件中移除 phpbrew 相关行
-
删除 phpbrew 可执行文件:
sudo rm /usr/local/bin/phpbrew
phpbrew 是管理多 PHP 环境的强大工具,特别适合需要在不同项目中使用不同 PHP 版本的开发者。
No Comments