Homestead 12.1.0仍用PHP8.0 无法创建Laravel9项目如何解决
Homestead搭建Laravel9时PHP版本不满足要求的解决方法
问题说明
使用12.1.0版本Homestead搭建Laravel 9项目时Composer执行失败,原因为Laravel 9要求PHP版本满足^8.1。
此前已尝试执行命令移除本地旧Homestead虚拟机镜像、重新拉取官方镜像:
vagrant box remove laravel/homestead vagrant box add laravel/homestead
但进入虚拟机执行php -v查看版本,返回结果仍为PHP 8.0.1,输出如下:
vagrant@homestead:~$ php -v PHP 8.0.1 (cli) (built: Jan 13 2021 08:22:35) ( NTS ) Copyright (c) The PHP Group Zend Engine v4.0.1, Copyright (c) Zend Technologies with Zend OPcache v8.0.1, Copyright (c), by Zend Technologies
解决步骤
这个问题和镜像拉取是否完整无关,核心原因是仅更新Homestead虚拟机镜像,不会同步更新Homestead本身的运行配置,12.1.0版本的Homestead默认配置的PHP版本就是8.0,按以下步骤操作即可修复:
- 进入本地存放Homestead代码的目录,切换到最新稳定分支并同步最新代码:
git checkout release git pull
- 销毁当前运行的旧版本虚拟机,清除旧配置缓存:
vagrant destroy -f
- 打开Homestead目录下的
Homestead.yaml配置文件,检查sites配置块,如果之前手动给站点指定过php: "8.0"参数,要么删除该参数使用默认版本,要么修改为php: "8.1"。 - 重新启动虚拟机:
vagrant up
启动完成后通过vagrant ssh进入虚拟机,执行php -v验证,此时PHP版本会更新为8.1.x,再执行Composer安装Laravel 9就不会出现版本不兼容报错。
如果操作完成后PHP版本仍未更新,启动虚拟机时加上强制配置参数重新跑环境初始化即可:
vagrant up --provision
内容的提问来源于stack exchange,提问作者gjg2013
相关产品推荐
相关产品推荐

