如何让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
相关产品推荐
相关产品推荐

