You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 18.04标准支持到期后无法安装PHP8+的解决方案求助

在Ubuntu 18.04上安装PHP8+的可行方案

针对Ubuntu 18.04已停止官方支持、Ondrej PPA不再提供PHP包的情况,提供三个可行方案:

方案1:使用第三方维护的EOL Ubuntu PHP源

有第三方源专门维护EOL版本Ubuntu的PHP包,步骤如下:

  • 移除已添加的Ondrej PPA(如果之前加过):
    sudo add-apt-repository --remove ppa:ondrej/php
    sudo apt update
    
  • 添加第三方源:
    sudo apt install software-properties-common
    sudo add-apt-repository ppa:jczaplicki/xenial-backports
    sudo apt update
    
  • 安装PHP8.0及所需扩展(该源也支持8.1/8.2,替换版本号即可):
    sudo apt install php8.0 -y
    sudo apt install php8.0-common php8.0-mysql php8.0-xml php8.0-xmlrpc php8.0-curl php8.0-gd php8.0-imagick php8.0-cli php8.0-dev php8.0-imap php8.0-mbstring php8.0-opcache php8.0-soap php8.0-zip php8.0-intl -y
    
  • 切换Apache的PHP模块并重启服务:
    sudo a2dismod php7.2
    sudo a2enmod php8.0
    sudo systemctl restart apache2
    

方案2:从源码编译PHP8+

如果第三方源失效,可手动编译PHP:

  • 先安装编译依赖:
    sudo apt install build-essential libxml2-dev libssl-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libonig-dev libzip-dev libmysqlclient-dev libicu-dev
    
  • 下载PHP源码(以8.0.30为例,可替换为8.1/8.2的最新版本):
    wget https://www.php.net/distributions/php-8.0.30.tar.gz
    tar -xzf php-8.0.30.tar.gz
    cd php-8.0.30
    
  • 配置编译参数(包含常用扩展,可按需调整):
    ./configure --prefix=/usr/local/php8.0 \
                --with-apxs2=/usr/bin/apxs \
                --with-mysqli \
                --with-pdo-mysql \
                --with-openssl \
                --with-curl \
                --with-gd \
                --with-jpeg \
                --with-png \
                --with-mbstring \
                --with-intl \
                --with-zip \
                --enable-opcache \
                --enable-soap \
                --enable-imap
    
  • 编译并安装:
    make -j$(nproc)
    sudo make install
    
  • 切换Apache模块并重启:
    sudo a2dismod php7.2
    # 检查/etc/apache2/mods-available/php8.0.load文件,确保路径指向/usr/local/php8.0/libphp8.0.so
    sudo systemctl restart apache2
    

方案3:使用Docker运行PHP8+(推荐长期使用)

用容器隔离运行环境,避免EOL系统的依赖问题,步骤如下:

  • 安装Docker:
    sudo apt update
    sudo apt install docker.io
    sudo systemctl start docker
    sudo systemctl enable docker
    
  • 拉取PHP8.0 Apache镜像:
    docker pull php:8.0-apache
    
  • 启动容器并挂载本地项目目录(替换/path/to/your/project为实际项目路径):
    docker run -d -p 80:80 -v /path/to/your/project:/var/www/html --name php8-apache php:8.0-apache
    
  • 如需安装额外扩展,进入容器执行命令:
    docker exec -it php8-apache bash
    # 示例安装扩展:
    docker-php-ext-install mysqli curl gd mbstring intl zip soap
    

内容的提问来源于stack exchange,提问作者Dan Wist

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 04:50:40