Laravel Homestead 8.x ——2创建项目

homestead 的下载与安装已经完成了,那么问题来了,在哪个目录下创建项目?如何创建项目?

- 在哪创建项目?

在电脑上的哪个目录下都可以,可以在当前 windows 中创建项目目录,也可以在虚拟机中的 ubuntu 系统中创建项目目录。但是前提是必须将 windows 目录与 ubuntu 目录进行映射!

虽然我们知道 ubuntu 运行在虚拟机上,但是虚拟机上对应的文件目录还是基于当前 windows 的。也就是在 ubuntu 中创建的目录,在 windows 上是可以找到对应的目录;在 windows 中创建的目录,只要配置好映射,在 ubuntu 上也是可以找到对应的目录。

- 查看 ubuntu 目录:

方法一:
打开虚拟机软件——输入密码 “vagrant”——点击左上角 Activities ——打开 ImageMagick ——单击这个图片——选择 file —— open,便可以查看 ubuntu 目录

方法二:
执行下面的命令,就可以在 windows下操作 ubuntu 中的命令行了。( 直接在 ubuntu 中打开命令行会打不开,我也不清楚为什么打不开)

// 在 D:\homestead\homestead 目录下
$ vagrant ssh
...
vagrant@homestead:~$ ls   //输入 ls :查看当前目录的全部文件
Desktop  Documents  Downloads  Music  Pictures  Public  Templates  vendor  Videos
vagrant@homestead:~$ cd Desktop  //输入cd XX :进入某个文件
vagrant@homestead:~/Desktop$ cd ..    //输入cd .. :返回到上一个目录

homestead 环境可以完全隔离 windows,整个开发环境全部被集中在 ubuntu 中,那么,总不能让我们在虚拟机里面或用命令行来写代码吧?

当然不是,我们需要做的是,在虚拟机中创建项目,将该项目映射到 windows 的目录中,我们在 windows 环境下写代码,而代码在虚拟机的环境中被做处理,在 windows 环境下访问对应的站点查看运行结果,没错,就是这么个意思。

当然,我们也可以在 windows 下创建普通的 laravel 项目,然后映射到 ubuntu 的目录中,但这样做的话,需要 laravel 命令或 composer 命令,我们并没有在 windows 下安装 laravel 安装器或 composer,别忘了 homestead 环境的初心哦~ ubuntu 中已经自带了 composer 和laravel 安装器了,windows 就没必要在安装了~。

- 创建项目前的配置

项目目录映射:

在创建项目前,我们要在windows下选择一个目录存放项目,比如在D盘创建一个projects文件夹: D:\projects (虚拟机中的项目的实体就放在这里面了)

配置映射:打开D:\homestead\homestead\Homestead.yaml,修改内容如下

我们知道,所有的一切都在虚拟机当中,包括apache、Nginx等web服务器,而windows下并没有安装 apache 等web服务器,而访问 192.168.10.10 该站点,即是访问虚拟机的 web 服务器,从而可以实现访问 index.php

检查项目目录是否映射成功:

每次修改 Homestead.yaml 内容,都要重启虚拟机

// 在 D:\homestead\homestead 目录下
$ vagrant reload --provision
重启成功

切换到虚拟机命令行,查看目录结构:

// 在 D:\homestead\homestead 目录下
$ vagrant ssh
...
vagrant@homestead:~$ ls
Desktop  Documents  Downloads  Music  Pictures  projects  Public  Templates  vendor  Videos

会发现多了一个 projects 目录,这就说明项目文件映射成功了。

检查站点是否映射成功:

打开 192.168.10.10 显示了一段字符 :No input file specified. 就代表映射成功了,因为没有 index.php ,所以就显示这段字符,若失败了,会显示“无法显示此网页”。

检查站点目录是否映射成功:

D:\projects 中创建一个 demo 文件夹,在 demo 中再创建一个 public 文件夹,再在 public 中创建 index.php ,即 D:\projects\demo\public\index.php ,在 index.php 中写入以下内容并保存:

<?php
echo "abc";

将刚刚打开的网页关闭(不关闭的话可能显示的还是刚刚的内容),重新打开该站点 192.168.10.10 ,显示 “abc” 代表映射成功。

将 ip 地址访问形式改成 url 的形式访问:

打开 Homestead.yaml ,将红色框框里的网址改成你想要的,并保存。

打开 C:\Windows\System32\drivers\etc\hosts ,填入:

192.168.10.10 homestead.test

便实现了url 与 ip 地址的映射了。

重启虚拟机:

// 在 D:\homestead\homestead 目录下
$ vagrant reload --provision
重启成功

访问 homestead.test 成功显示 “abc” 代表成功。

- 创建基于 Homestead 环境的 Laravel 框架

上面我们只是创建了一个index.php,它显然不是一个框架。

之前说了,需要在虚拟机中创建项目,但由于虚拟机里面无法打开命令行的问题暂时没有解决,所以我们直接从 windows 命令行中,切换到 ubuntu 命令行,在 windows 中使用 ubuntu 的命令行进行创建项目。(记住, windows 下可是没有 composer 或 laravel 安装器,只有虚拟机中有!)

  1. 删除 D:\projects 目录下的 demo 文件。

  2. 切换命令行至 ubuntu 命令行:

    // 在 D:\homestead\homestead 目录下
    $ vagrant ssh
    ...
    vagrant@homestead:~$ ls
    Desktop  Documents  Downloads  Music  Pictures  projects  Public  Templates  vendor  Videos
    vagrant@homestead:~$ cd projects  
    vagrant@homestead:~$ laravel new demo // 创建一个名为 demo 的 laravel 项目
    ...耐心等待
    Application ready! Build something amazing.
    创建成功。

    注意:要在 projects 目录下 执行 laravel new demo 才会成功。

  3. 关闭已经打开的站点并重新访问:homestead.test

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 1

为什么我首页打开错误500,但是在public里面新建一个info.php文件就可以打开,也不知道哪里出了问题

3个月前 评论
最後的我們 3个月前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!