使用Homestead创建新Laravel项目的配置及操作相关问题
Homestead 环境创建 Laravel 项目相关问题解答
1. Homestead.yaml 配置正确性判断
你给出的配置整体逻辑完全正确,仅存在一个可优化的细节:如果后续你需要部署多个项目,建议将sites下的map值改成和项目对应的laravel-vue.test,用homestead.test也可以正常运行,只是多项目场景下容易混淆。
配置调整完成后记得执行vagrant reload --provision让新配置生效。
2. Composer 命令执行位置
需要先在你本地 Homestead 根目录执行vagrant ssh登录到 Homestead 虚拟机内部,在虚拟机的命令行环境中执行 composer 命令即可,Homestead 已经预装了所有 Laravel 运行需要的 PHP、Composer 等依赖,不需要本地安装对应环境。
3. 文件夹创建顺序
有两种可行方案,更推荐第一种:
- 方案1:先在本地 D 盘手动创建
laravel-vue空文件夹,修改完 Homestead.yaml 执行重载配置命令后,ssh 登录虚拟机进入/home/vagrant/laravel-vue目录,执行composer create-project laravel/laravel .(注意末尾的英文句号,表示在当前目录安装项目,避免额外嵌套一层子目录),项目会自动同步到本地 D 盘对应文件夹。 - 方案2:无需提前在本地创建文件夹,直接 ssh 登录虚拟机进入
/home/vagrant/目录,执行composer create-project laravel/laravel laravel-vue,虚拟机内创建的项目会自动同步到本地 D 盘对应位置。
提前创建本地空文件夹可以规避部分 Windows 系统下的文件夹同步权限异常问题。
4. /public 目录的作用
这个目录是 Laravel 项目的唯一对外暴露的入口目录:
- 所有外部 HTTP 请求都会先进入该目录下的
index.php文件做请求转发,项目根目录下的业务代码、配置文件、环境变量文件等敏感内容不会直接暴露给外部,大幅提升服务安全性 - 项目的公开静态资源(CSS、JS、公共图片、用户上传的公开文件等)默认也都存放在该目录下,方便外部直接访问
内容的提问来源于stack exchange,提问作者GuillaumeBB
相关产品推荐
相关产品推荐

