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',

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
Jouzeyu
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
发起讨论 只看当前版本


暂无话题~