适用于需要简单管理多个PHP版本(通过官方或第三方仓库)的场景,适合不想安装额外工具的用户。
sudo apt update sudo apt install software-properties-common sudo add-apt-repository ppa:ondrej/php # 添加ondrej/php仓库(支持PHP 5.6-8.3+) sudo apt update sudo apt install php7.4 php7.4-cli php7.4-fpm # 安装PHP 7.4及常用扩展 sudo apt install php8.0 php8.0-cli php8.0-fpm # 同时可安装多个版本 update-alternatives工具管理默认php命令:sudo update-alternatives --install /usr/bin/php php /usr/bin/php7.4 74 # 注册PHP 7.4 sudo update-alternatives --install /usr/bin/php php /usr/bin/php8.0 80 # 注册PHP 8.0 sudo update-alternatives --config php # 交互式选择默认版本 php -v确认当前默认PHP版本。适用于需要灵活管理多个PHP版本(包括编译安装)、自定义编译选项或在不同项目中快速切换版本的用户。
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 phpbrew init,并按提示将环境变量添加到~/.bashrc或~/.zshrc:echo '[[ -e ~/.phpbrew/bashrc ]] && source ~/.phpbrew/bashrc' >> ~/.bashrc source ~/.bashrc phpbrew install 7.4 +default +fpm +mysql +gd # 安装PHP 7.4及常用扩展 phpbrew switch 7.4phpbrew use 7.4phpbrew list)、卸载版本(phpbrew uninstall 7.4)、更新phpbrew(phpbrew update)。适用于需要隔离环境、避免污染主机系统或快速部署不同PHP版本的项目,适合现代DevOps流程。
sudo apt update sudo apt install docker.io sudo systemctl start docker sudo systemctl enable docker docker pull php:7.4-fpm docker run -d --name my-php-app -p 9000:9000 php:7.4-fpm docker-compose.yml编排多个服务(如PHP-FPM+MySQL+Nginx)。无论使用哪种方法,若需要同一系统运行多个PHP版本,还需管理对应扩展:
sudo apt install php7.4-mbstring php7.4-xml # 为PHP 7.4安装扩展 sudo apt install php8.0-mbstring php8.0-xml # 为PHP 8.0安装扩展 sudo a2dismod php7.4 # 禁用PHP 7.4 sudo a2enmod php8.0 # 启用PHP 8.0 sudo systemctl restart apache2 fastcgi_pass指令指向对应PHP-FPM socket(如/run/php/php7.4-fpm.sock或/run/php/php8.0-fpm.sock)。以上方法覆盖了Debian系统下PHP版本控制的主要场景,可根据实际需求(如是否需要隔离、自动化程度)选择合适的方式。