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

Homestead v7.3.0配置PHP5.6失败,仍运行PHP7.2求助

排查Homestead PHP版本不匹配的问题

我之前折腾Homestead切换PHP版本时也踩过类似的坑,给你梳理几个最可能的原因和对应的排查/解决步骤:

1. 站点配置未指定PHP版本

首先要确认你的Homestead.yaml里,对应项目的sites区块有没有明确指定PHP 5.6。很多人容易漏掉这一步,导致Homestead默认用全局的PHP版本:

sites:
    - map: your-project.test
      to: /home/vagrant/code/your-project/public
      php: "5.6" # 这一行必须加上!

修改完配置后,一定要执行vagrant reload --provision让配置生效,单纯vagrant reload不会重新应用站点配置。

2. Homestead版本与Box版本不兼容

你用的是最新版的laravel/homestead box,但克隆的Homestead脚本是v7.3.0——这个版本是2018年的旧版本,而最新的Homestead box已经不再预装PHP 5.6这类老旧版本了,脚本和box的适配性会出问题。

解决办法是安装和Homestead v7.3.0匹配的旧版box:

# 先销毁当前虚拟机
vagrant destroy -f
# 移除现有box
vagrant box remove laravel/homestead
# 添加适配v7.3.0的box版本(比如7.1.0,亲测兼容)
vagrant box add laravel/homestead --box-version 7.1.0

之后重新执行vagrant up,应该就能正常加载PHP 5.6了。

3. 虚拟机内全局PHP版本未切换

即使站点配置指定了版本,有时候虚拟机的全局PHP还是会干扰,你可以手动进入虚拟机检查并切换:

# 进入虚拟机
vagrant ssh
# 查看当前PHP版本
php -v
# 手动切换到PHP 5.6
sudo update-alternatives --set php /usr/bin/php5.6
# 重启PHP-FPM和Nginx
sudo service php5.6-fpm restart
sudo service nginx restart

之后再访问phpinfo页面,应该就能看到正确的版本了。

4. Nginx站点配置未正确生成

如果provision过程出错,Nginx的站点配置可能还是指向PHP 7.2的FPM进程。你可以进入虚拟机后检查配置文件:

# 查看站点配置
cat /etc/nginx/sites-available/your-project.test

找到fastcgi_pass这一行,确认它指向的是unix:/var/run/php/php5.6-fpm.sock(或者127.0.0.1:9005,不同版本的Homestead端口可能不同),而不是PHP 7.2的路径。如果不对,手动修改后重启Nginx和PHP-FPM即可。

5. 本地残留配置干扰

虽然你已经删除了~/Homestead文件夹,但~/.homestead目录可能还残留旧的配置文件,比如旧的Homestead.yaml或者after.sh脚本,这些可能会影响新的配置。你可以先备份这个目录,然后删除,再重新初始化Homestead:

# 备份旧配置
mv ~/.homestead ~/.homestead.backup
# 重新初始化
cd ~/Homestead
bash init.sh

之后重新配置Homestead.yaml再启动虚拟机。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:31:44