3.1. 创建项目及基本配置
创建项目
启动虚拟机
cd ~/Homestead/ //进入Homestead目录
vagrant up //启动虚拟机
vagrant ssh //进入虚拟机
创建项目
cd Code //代码目录
composer create-project --prefer-dist laravel/laravel try_complex
这里选择的是laravel最新的 8.X版本
基本配置
配置访问域名
默认状态下,Homestead 的配置文件 Homestead.yaml
中的站点是 homestead.test
,你可以随时更改它,Homestead.yaml
路径 ~/Homestead/Homestead.yaml
sites:
- map: homestead.test //域名
to: /home/vagrant/Code/Laravel/public //指向的环境中的目录
我们可以添加一个simple-dev
的域名,并且指向刚才创建的 Simple-dev 项目目录:
sites:
- map: homestead.test
to: /home/vagrant/Code/Laravel/public
- map: try.test //新站点
to: /home/vagrant/Code/try_complex/public //指向我们的目录
除了这个我们也需要创建我们的数据库,在 Homestead 中你可以这样做:
databases:
- homestead
- try //我们的数据库
结束了吗?没有!你还需要两步:在hosts中加入我们的域名、重启我们的虚拟机:
在hosts文件的最后一行加入:
192.168.10.10 try.test
hosts文件在 C:\Windows\System32\Drivers\etc\hosts 。
重启我们的虚拟机;
$ exit #退出虚拟机,返回本机的页面
> vagrant halt #关闭虚拟机
> cd ~/Homestead && vagrant up --provision #执行命令重启
> vagrant ssh #重新连接
配置git,忽略idea文件夹
配置数据库
Homestead 中默认安装了 MySQL,你需要在 .env
文件中连接它:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=try
DB_USERNAME=homestead
DB_PASSWORD=secret
配置你的时区
为什么要配置时区?因为项目默认不是北京时间,当你做一些时间方面的“敏感”操作时,它非常有用,不然你就会调试半天也找不到原因。
分享一个之前的失败例子:公司有个需求是有个开始时间,还有一个结束时间,如果当前时间没有到开始时间就提示它活动未开始,如果过了结束时间,就提示活动已结束,我是用 Carbon 拓展包中的lt
方法做的,像这样:
if (now()->lt($user->validate_start_time)){
return showError('账户未激活',401);
}
当时测试了5分钟吧,明明当前时间过了激活时间了,但是还提示账号未激活,罪魁祸首就是没有配置时区。
你可以在项目根目录的config
目录下的 app.php
文件中配置你的时区;
'timezone' => 'Asia/Shanghai',
推荐文章: