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

如何让WSL识别并使用PHP 8.1版本而非PHP 7.4?

解决WSL环境中切换至PHP 8.1的问题

Windows与WSL是完全独立的运行环境,你在Windows系统安装的PHP不会同步到WSL中,需要在WSL内部单独安装并配置PHP 8.1,以下是具体步骤(以Ubuntu发行版为例):

  • 更新软件源
    先更新WSL的包索引:

    sudo apt update && sudo apt upgrade -y
    
  • 添加PHP官方PPA源
    默认Ubuntu源的PHP版本可能偏旧,添加第三方PPA获取高版本:

    sudo apt install software-properties-common -y
    sudo add-apt-repository ppa:ondrej/php
    sudo apt update
    
  • 安装PHP 8.1及必备扩展
    安装PHP 8.1 CLI及Laravel常用扩展:

    sudo apt install php8.1 php8.1-cli php8.1-mbstring php8.1-xml php8.1-curl php8.1-zip -y
    
  • 设置PHP 8.1为默认版本
    通过update-alternatives工具切换默认PHP:

    # 禁用当前默认的PHP 7.4
    sudo update-alternatives --disable php
    # 将PHP 8.1设为默认,优先级设为100(高于其他版本)
    sudo update-alternatives --install /usr/bin/php php /usr/bin/php8.1 100
    

    执行以下命令验证版本:

    php -v
    

    此时应输出PHP 8.1的版本信息。

  • 调整PHP配置(可选)
    查看PHP 8.1的配置文件路径:

    php --ini
    

    编辑对应路径的php.ini文件即可修改配置。

额外建议:Laravel Sail的正确姿势

Laravel Sail基于Docker运行,无需在WSL宿主环境安装PHP——你可以直接修改项目根目录的docker-compose.yml,将PHP服务的镜像指定为对应版本,例如:

services:
    laravel.test:
        image: 'laravelsail/php8.1:latest'
        # 其他配置...

这样容器内直接使用PHP 8.1,完全避免宿主环境的版本冲突,更符合Sail的设计理念。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 14:55:19