Laravel Homestead提示‘No input file specified’问题求助(Windows环境)
解决Homestead访问站点出现「No input file specified」的问题
我之前在Windows上用Homestead的时候也碰到过一模一样的问题,结合你给出的homestead.yaml配置,咱们一步步来排查解决:
1. 确认本地项目路径的正确性
你的配置里把D:/web/laravel映射到了虚拟机的/home/vagrant/code,首先要检查:
- 本地
D:/web/laravel文件夹确实存在,并且里面是完整的Laravel项目(必须包含public目录和里面的index.php) - 路径拼写没有错误,比如有没有把
laravel写成laravel1之类的笔误
2. 验证虚拟机内的站点根目录
通过vagrant ssh登录到Homestead虚拟机,然后执行命令:
ls /home/vagrant/code/public
如果返回的结果里没有index.php,说明文件夹映射没生效,或者本地项目本身不完整。这时候要先确保本地项目是完整的Laravel项目,再重新同步配置。
3. 重新加载Homestead配置
修改homestead.yaml后,必须让Vagrant重新应用配置才能生效。在你的Homestead目录下运行:
vagrant reload --provision
这个命令会重启虚拟机,同时重新同步文件夹映射和站点配置,很多时候这一步就能解决问题。
4. 检查本地Hosts文件配置
Windows的Hosts文件在C:\Windows\System32\drivers\etc\hosts,需要用管理员权限打开编辑,确保添加了以下内容:
192.168.10.10 laravel.test
保存后可以通过ping laravel.test测试,看是否能解析到192.168.10.10。
5. 修复虚拟机内的文件权限
如果前面几步都没问题,那可能是Linux虚拟机内的文件权限导致Nginx无法读取文件。登录虚拟机后执行:
sudo chown -R www-data:www-data /home/vagrant/code sudo chmod -R 755 /home/vagrant/code
这会给项目文件夹设置正确的权限,让Web服务器能正常访问文件。
内容的提问来源于stack exchange,提问作者Luis Martin
相关产品推荐
相关产品推荐

