Ubuntu 20.04下Homestead部署站点出现“No input file specified.”错误的排查与解决求助
Ubuntu 20.04下Homestead部署站点出现“No input file specified.”错误的排查与解决求助
我在Ubuntu 20.04系统上安装了VirtualBox和Vagrant,具体环境信息如下:
- VirtualBox版本:6.1.38-dfsg-3~ubuntu1.20.04.1
- Vagrant版本:2.2.6+dfsg-2ubuntu3
- Homestead版本:13.3.2(通过
git clone https://github.com/laravel/homestead.git ~/Homestead全局安装)
初始Homestead.yaml配置
我创建了/home/master/Homestead/Homestead.yaml文件,配置了两个站点(需要MySQL和MongoDB支持):
ip: "192.168.56.56" memory: 2048 cpus: 2 provider: virtualbox authorize: ~/.ssh/id_rsa.pub keys: - ~/.ssh/id_rsa folders: - map: /_wwwroot/lar/MS/MS_Banners to: /home/vagrant/apps/MS_Banners - map: /_wwwroot/lar/MngProducts to: /home/vagrant/apps/MngProducts sites: - map: local-ms-banners.test to: /_wwwroot/lar/MS/MS_Banners/public php: "8.0" - map: local-mng-products.test to: /_wwwroot/lar/MngProducts/public php: "8.1" databases: - MS_Banners features: - mysql: true - mongodb: true - mariadb: false - postgresql: false - ohmyzsh: false - webdriver: false services: - enabled: - "mysql"
执行vagrant up --provision的异常输出
执行vagrant up --provision后,输出中有几处红色提示(不确定是否为错误),以及一处明确提示:
# 明确的错误提示 homestead: Invalid feature: mysql # 启用mysql服务时的红色输出 homestead: Synchronizing state of mysql.service with SysV service script with /lib/systemd/systemd-sysv-install. homestead: Executing: /lib/systemd/systemd-sysv-install enable mysql # 创建MySQL数据库时的提示 homestead: We didn't find MariaDB ($mariadb), skipping $DB creation # Composer更新时的红色提示 homestead: You are already using the latest available Composer version 2.5.0 (stable channel).
浏览器访问问题
配置完成后,在浏览器访问local-ms-banners.test和local-mng-products.test时,均显示错误:
No input file specified.
我的/etc/hosts已添加对应域名映射:
192.168.56.56 local-mng-products.test 192.168.56.56 local-ms-banners.test
已尝试的排查步骤
更新信息1:参考相关问题尝试修复
- 以普通用户
master而非root执行vagrant up --provision,问题依旧 - 尝试执行
homestead up --provision,但提示homestead: command not found - 参考相关问题提示尝试
composer global require "laravel/homestead=~2.0",但不确定是否需要执行(我是通过git clone全局安装的Homestead)
更新信息2:修改Homestead.yaml配置
修改了folders和sites配置:
folders: - map: ~/code to: /home/vagrant/code - map: /_wwwroot/lar/MS/MS_Banners to: /home/vagrant/apps/MS_Banners sites: - map: homestead.test to: /home/vagrant/code - map: local-ms-banners.test to: /_wwwroot/lar/MS/MS_Banners/public
修改后:
- 通过
vagrant ssh进入虚拟机,可以看到~/apps/MS_Banners下的项目文件完整存在 - 访问
homestead.test可以正常打开PHP文件,但local-ms-banners.test仍显示“No input file specified.”
更新信息3:Homestead命令异常及配置不生效问题
- 尝试执行
homestead destroy、homestead up等命令,均提示“Command not defined”,查看homestead -h发现可用命令只有completion、help、list、make、wsl相关命令,这和预期的Homestead命令不符? - 修改
folders配置,将映射目标改为/home/vagrant/code/MS_Banners并删除了第二个文件夹映射,但执行vagrant reload --provision和vagrant up --provision后,虚拟机中仍存在~/apps目录及两个子目录,配置修改似乎未生效
疑问与求助
- 导致“No input file specified.”错误的具体原因是什么?有没有额外的日志或调试选项可以排查?
- 为什么Homestead的命令(如
homestead up、homestead destroy)无法使用?是版本问题还是安装方式导致的? - 为什么修改Homestead.yaml后,虚拟机中的目录结构没有更新?如何确保配置修改生效?
备注:内容来源于stack exchange,提问作者mstdmstd
相关产品推荐
相关产品推荐

