Ubuntu中PHP版本升级的常见方法
首先确保系统包信息是最新的,避免因缓存导致安装错误:
sudo apt update
Ubuntu官方仓库的PHP版本可能滞后,推荐添加第三方PPA(如ondrej/php)以获取最新稳定版:
sudo add-apt-repository ppa:ondrej/php
sudo apt update
(注:ondrej/php PPA支持PHP 5.6及以上版本,包括长期支持版(LTS))
sudo apt install php8.2--only-upgrade参数升级:sudo apt install --only-upgrade php7.4php7.4替换为目标版本)升级后需安装所需扩展,确保应用程序兼容:
sudo apt install php8.2-cli php8.2-fpm php8.2-mysql php8.2-xml php8.2-curl
(根据项目需求替换mysql、xml等扩展名)
sudo systemctl restart apache2sudo systemctl restart nginx && sudo systemctl restart php8.2-fpmphp8.2-fpm替换为实际使用的PHP-FPM版本)运行以下命令确认升级成功:
php -v
输出应显示目标PHP版本(如PHP 8.2.x)
若需要同时运行多个PHP版本(如项目A用PHP 7.4,项目B用PHP 8.2),可使用phpbrew工具。
通过curl下载并移动到系统路径:
curl -L -O https://github.com/phpbrew/phpbrew/releases/latest/download/phpbrew.phar
sudo mv phpbrew.phar /usr/local/bin/phpbrew
sudo chmod +x /usr/local/bin/phpbrew
将phpbrew添加到shell配置文件(如.bashrc或.zshrc):
echo '[[ -e ~/.phpbrew/bashrc ]] && source ~/.phpbrew/bashrc' >> ~/.bashrc
source ~/.bashrc
(使配置立即生效)
使用phpbrew安装所需版本(如PHP 7.4.0):
phpbrew install 7.4.0 +default
(+default表示设置为全局默认版本)
phpbrew switch php-7.4.0phpbrew local php-8.2.0.php-version文件,记录版本信息)php -v
输出应显示当前激活的PHP版本
若需要特定版本的PHP(如旧版或定制版),可通过源码编译安装。
sudo apt update
sudo apt install build-essential libxml2-dev libssl-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libonig-dev libzip-dev
访问PHP官方网站下载所需版本(如PHP 8.1.0):
wget https://www.php.net/distributions/php-8.1.0.tar.gz
tar -xzvf php-8.1.0.tar.gz
cd php-8.1.0
根据需求配置编译参数(如启用mbstring、openssl等):
./configure --with-config-file-path=/etc/php/8.1/cli --enable-mbstring --with-curl --with-openssl --with-zlib --with-jpeg --with-png
make -j$(nproc) (-j$(nproc)加速编译,使用所有CPU核心)
sudo make install
sudo cp php.ini-production /etc/php/8.1/cli/php.iniphp-fpm.conf.default和www.conf.default到对应目录)sudo systemctl start php8.1-fpmphp -v
输出应显示编译安装的PHP版本
phpbrew或update-alternatives管理,避免冲突。