Homestead CLI为PHP8.0但网页报错依赖要求PHP>=8.0.0当前版本7.4.11
问题原因
你遇到的报错确实和PHP的CLI版本、web运行版本不一致有关。php --version返回的是命令行环境使用的PHP版本,而站点通过web服务器(Nginx/Apache)运行时调用的是对应版本的PHP-FPM服务,两者默认可以独立配置互不影响。你当前Homestead的站点配置没有指定使用PHP 8.0,所以web请求默认调用了系统预装的PHP 7.4版本。
解决方案
方法1:修改Homestead配置全局生效(推荐)
- 打开宿主机上的Homestead配置文件
Homestead.yaml,找到对应站点的sites配置段,添加php: "8.0"参数,示例配置如下:
sites: - map: 你的站点域名.test to: /home/vagrant/你的站点项目路径/public php: "8.0"
- 保存配置后,在宿主机的Homestead目录下执行命令重新加载配置:
vagrant reload --provision
该操作会自动重写站点的web服务器配置,关联PHP 8.0的FPM服务,无需手动修改虚拟机内的配置文件。
方法2:虚拟机内手动修改(临时调试用)
如果不想重新provision,可以直接进入虚拟机修改站点配置:
- 执行
vagrant ssh进入Homestead虚拟机 - 打开对应站点的Nginx配置文件(默认路径为
/etc/nginx/sites-available/你的站点配置文件),将fastcgi_pass参数的值修改为unix:/run/php/php8.0-fpm.sock - 保存后执行
systemctl restart nginx重启Nginx生效
验证操作
配置完成后,可以在站点的公开目录下临时创建info.php文件,写入内容:<?php phpinfo(); ?>
浏览器访问该文件,确认返回的PHP版本为8.0即可,验证完成后请删除该文件避免暴露系统信息。
内容的提问来源于stack exchange,提问作者cybercivizen
相关产品推荐
相关产品推荐

