如何解决Laravel 开发环境搭建的问题

本篇文章给大家带来的内容是关于如何解决laravel 开发环境搭建的问题,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

正文:步骤简略

安装VirtualBox

安装Vagrant

导入Homestead Box虚拟机盒子

安装Git

安装Homestead管理脚本

配置Homestead.yaml文件

启动Homestead

安装VirtualBox

VirtualBox百科词条 https://baike.baidu.com/item/VirtualBox/5842786?fromtitle=virtual%20box&fromid=3961028&fr=aladdin

简单理解:模拟出你想要的系统
安装:点击下一步即可

安装Vagrant

百度词条 https://baike.baidu.com/item/Vagrant/1321946?fr=aladdin

简单理解:创建和部署虚拟化开发环境。
安装:next

刚开始使用vagrant命令时,总是把 vagrant up 输入成 vargant  。习惯性认为是var赋值之意 。后来从mysql grant权限以及查询其英文词意得出灵感,才理解 grant是  承认;同意;授予之意。此处转化为程序语境,有点类似“赋予权限” 。使用外国人开发的东西,还是得抓一下英文基本功才能更好理解……

Homestead介绍

原文连接提供的homestead,实际是打包好N种开发所需的软件和vagrant盒子。主要是提供一个优秀的开发环境,在盒子中已经移植好PHP、Composer、Nginx、Mysql、git…等其他工具软件。

目的是为团队开发的成员搭建一致开发环境,确保成员环境一致,避免因环境配置出现不可预估的错误。这也是为什么Laravel学院要求初学者下载导入定制好的盒子~

1.Homestead 管理脚本

Homestead脚本使用Ruby和Shell脚本编写而成。原理是对vagrantfile文件做定制。将从
~/Homestead/Homestead.yaml读取配置信息。在provision时,解析为vagrant命令并进行对虚拟机的配置
同时提供了极其简单易用的接口,傻瓜化配置即可完成复杂任务

IP配置,端口映射

Nginx Site创建

数据库创建

主机文件夹挂在到虚拟机等任务

安装和使用Homestead

下载和导入Homestead虚拟机盒子

安装Git,为下载Homestead管理脚本做准备

使用Git下载Homestead管理脚本

1.下载导入Homestead Box

Windows下需要使用导入命令,找到盒子所在的路径,cmd输入以下命令

> vagrant box add metadata.json

2.安装GIT

关键字:next
很多安装模式选项,得找时间研究一下

3.下载homestead管理脚本

克隆 summer主页的git项目 WINDOWS下,默认在 C盘 用户名/homstead。能找到该文件

> cd ~ > git clone https://git.coding.net/summerblue/homestead.git Homestead

完成后,为GIT创建分支 checkout v7.8.0(注意区分文件名大小写

> cd ~/Homestead> git checkout v7.8.0  #刚开始不知道checkout是什么,还以为是检查版本,后来发现这是git版本管理一个强大的功能

接下来初始化Homestead

> bash init.sh

运行成功后会在~/Homestead目录生成三个文件

Homestead.yaml主要配置信息文件,从中可以读到战点和数据库等信息

after.sh-每一次homestead盒子重置后(provision)会调用shell脚本文件

alsaes-每一次homestead盒子重置后,会被替换到虚拟机的~/.bash_alisases文件中,aliases放一些文件的各项配置信息进行详细

此处vagrant provision与vagrant reload搭配使用,可加载修改后的yaml文件配置,类似修改完apache后重启

Homestead.yaml配置文件

接下来再对 Homestead.yaml进行详细配置

> cd ~/Homestead/        #进入到Homestead/文件夹下> explorer .             #打开该文件夹视图,然后打开homestead.yaml配置进行修改

另外一种使用命令快速打开Homestead.yaml文件

> subl ~/Homestead/Homestead.yaml  #subl是sublime打开文件的命令,需要单独配置,详见下方
 转:终端用sublime打开文件的方法 作者:**QUETAL** https://blog.csdn.net/u011240016/article/details/54434923

Homestead.yaml配置大致分为以下几种

虚拟机配置

SSH秘钥登录设置

共享文件夹配置

站点配置

数据库配置

自定义变量

1.虚拟机配置

Homestead支持我们对虚拟机的IP,内存,CPU,虚拟机的默认提供者进行配置。这里我们基本不需要做任何配置。

企业网站通用源码1.0 企业网站通用源码1.0

企业网站通用源码是以aspcms作为核心进行开发的asp企业网站源码。企业网站通用源码是一套界面设计非常漂亮的企业网站源码,是2016年下半年的又一力作,适合大部分的企业在制作网站是参考或使用,源码亲测完整可用,没有任何功能限制,程序内核使用的是aspcms,如果有不懂的地方或者有不会用的地方可以搜索aspcms的相关技术问题来解决。网站UI虽然不是特别细腻,但是网站整体格调非常立体,尤其是通观全

企业网站通用源码1.0 0 查看详情 企业网站通用源码1.0

ip: "192.168.10.10"  #ip映射,配置虚拟域名,需要在终端hosts添加该ip.后续有memory: 2048cpus: 1provider: virtualbox

2.SSH秘钥登录配置

authorize 选项是指派登录虚拟机授权连接的公钥文件,此文件填写的是主机上的公钥文件地址,虚拟机初始化时,此文件里的内容会被默认复制存储到虚拟机/home/vagrant/.ssh/authorized_keys文件中,从而实现ssh免密码登录。在这里我们默认填写

authorize ~/.ssh/id.rsa.pub   #这就是为什么输入vagrant up && vagrant ssh即可免密码登录

keys是数组选项,填写的是本机SSH私钥文件地址。虚拟机初始化时,会将此处填写的所有SSH私钥文件赋值到虚拟机的/home/vagrant/.ssh/文件夹中,从而使虚拟机能共享主机上的SSH私钥文件,使虚拟机具备等同于主机的身份认证。此功能为SSH授权提供了便利。例如在后面章节中,我们只需要在Github配置一个SSH公钥即可实现GITHUB对虚拟机和主机共同认证(GitHub是代码托管,终端代码提交需要配置公钥连接)

keys:- ~/.ssh/id_ras- ~/.ssh/id_rsa.pub  #变化在这里,此处我们将公钥和私钥一起同步到虚拟机中

接下来生成ssh key,请先检查主机是否已生成过SSH key C:/……./用户/用户名/.ssh 可查看是否已配置

> ls -al ~/.ssh  #输入这个即可查询是否配置> > #ls (选项)(参数)  > #ls命令用来显示目标列表,在Linux中是使用率较高的命令> # -a 显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为影藏,不会列出);> # -l与“-C”选项功能相反,所有输出信息用单列格式输出,不输出为多列;> # cannot access '/c/Users/用户名/.ssh': No such file or directory 即没有配置过

生成 SSH key

ssh-keygen -t rsa -C "your_email@example.com"#上面的邮箱替换成自己的

接下来命令行会提示让你指定秘钥的名称,按回车键将 SSH KEY保存到默认文件名即可

Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]

设置密码,回车键默认为空密码
20180827152515132.png

再次查看是否配置成功

ls -al ~/.ssh

如下图
20180827152656883.png

SSH秘钥的连个文件

id_rsa——–SSH秘钥 的 私钥 (Private Key)

id_ras.pub———SSH秘钥的公钥 (Public Key)

3.共享文件夹配置

可以通过folders来致命本机要映射到Homestead虚拟机上的文件夹

map对应的是我们本机的文件夹,例如 C:/Code 。

to对应的是Homestead上的文件夹,即虚拟机中的文件夹。

一定一定要注意映射文件夹大小写名字,否则会出现  no input file specified

一定一定要保存修改完后的配置文件,如果没有保存直接配置加载也没关系,你会学习到一系列有趣的问题(手动微笑)

folders:    - map :~/Code     - to:/home/vagrant/Code

联想:

相当于在本机修改程序文件,最终是会映射到虚拟机的文件夹上。

PS:使用IDE最好是轻量级的,例如editplus、sublime等。如果ide有git相关插件。以后每次修改文件,会遍历整个目录树,机器不好的容易卡。例如laravel默认是9000个文件,映射到虚拟机的文件同样是9000个,那么修改代码时,相当于遍历18000个文件。这也间接体现了laravel为什么是重量级框架,集成了现代商业化项目大部分需要的功能。由于是深度配置,所以定制功能时的修改也相对麻烦。

关于laravel框架 和 ide 的选择上,适合自己的才是最好的,未必集成的功能越多就越好。具体看项目开发/开发者自身需求

默认Homestead会将我们本地的~/Code文件映射到/home/vagrant/Code文件夹上。目前还没有~/Code,需创建

> cd ~> mkdir Code #在默认路径下创建Code文件夹> > #可使用 explorer .打开该文件夹的视图

4.站点配置(网站根目录映射)

站点配置允许你在唉主机里,通过域名来访问虚拟机的Laravel应用。如下面sites配置所示,将homestead.test映射到一个Laravel项目的public目录上。这一行配置,会命令homestead为我们新建一个Nginx站点,并且把Web Root配置到指定目录下。Laravel应用的Nginx站点 Web Root 配置,默认就是根目录的public目录下

sites:    - map: homestead.test      to: /home/vagrant/Code/Laravel/public  #此处的Laravel还没创建,待会会用COMPOSER下载

另外,主机里直接访问虚拟机站点,必须通过绑定hosts来实现。终端需要修改hosts文件绑定到homestead.test到虚拟机IP192.168.10.10上,hosts完整路径为 C:WindowsSystem32Driversecthosts

> subl C:WindowsSystem32Driversecthosts

在hosts文件中添加

192.168.10.10  homestead.test

注意:WINDOWS 10因为权限设置相关问题,即使打开了该文件可能也无法修改成功,此处有两种方式替代

打开该路径,复制hosts到任意目录并修改配置,最后覆盖

使用powershell打开并修改  
2.1windows 开始菜单图标【即最左下角的菜单】—> 点击右键

2.2 单击Windows PowerShell(管理员)

2.3 cd drivers/etc

2.4 notepad hosts

5.数据库配置

可以为homestead指定数据库名称,这里使用默认设置即可

databases:    - homestead

运行Vagrant

完成相关配置后,开启虚拟机
以下为相关命令

命令行 说明 相关例子

vagrant init初始化vagrant
vagrant up启动vagrant
vagrant halt关闭虚拟机如果直接在cmd中exit 不halt,下次启动会出现仍在运行vagrant ssh通过SSH登录vagrant (需要先启动vagrant)需要在homestead配置公钥而免密码登录vagrant provision重新应用更改vagrant配置类似apache修改配置项后需要重启,此处同理vagrant reload重载虚拟机搭配 vagrant provision && vagrant reloadvagrant destroy删除vagrant

接下来开启Homestead

> cd ~/Homestead && vagrant up

第一次启动时,vagrant会做以下几件事

以导入的Homestead虚拟机盒子为模版,新建一台虚拟机(之前导入的homestead)

并按照homestead.yaml里的配置信息,对这台新建的虚拟机进行配置

配置完成后启动虚拟机

成功启动后还是在~/Homestead目录中,通过以下命名来来SSH登录Homestead虚拟机中

> vagrant ssh

20180827162533614.png

> exit #退出当前虚拟机
> vagrant halt #关闭整个虚拟机

以上就是如何解决Laravel 开发环境搭建的问题的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/753804.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
Java中如何开发机器人?ROS2通信接口
上一篇 2025年11月25日 21:50:06
英思特:N58磁钢开发项目已完成,现可以实现批量生产
下一篇 2025年11月25日 21:52:45

相关推荐

  • 仅仅包装Request对象就能防止XSS攻击?

    深入解析:Request包装器如何有效防御XSS攻击 跨站脚本攻击(XSS)是Web应用安全领域的一大隐患。为了抵御XSS,开发者常采用Request包装器对请求数据进行安全处理。本文将深入剖析一个常见误区:为何仅仅包装Request对象就能有效防御XSS? 许多开发者疑惑:仅通过自定义的Reque…

    2026年8月27日
    100
  • 多端口监听(Port Multiplexing)的应用场景

    多端口监听在网络编程中允许服务器在多个端口上同时监听并处理请求。其应用场景包括同时处理http和https请求,或在不同端口运行不同服务。优势在于提高服务器的灵活性和可扩展性,但需注意安全性和资源管理。在实际项目中,通过多端口监听可以简化部署和维护工作,并通过负载均衡技术优化性能。 多端口监听(Po…

    2026年8月27日
    100
  • 怎么给VSCode配置Java_VSCode搭建Java开发环境与项目设置教程

    答案:配置VSCode写Java需安装JDK和Java扩展包,设置环境变量与运行时路径,可高效开发并管理多项目。 要在VSCode里愉快地写Java代码,其实比你想象的要简单,核心就是两步:先搞定Java开发工具包(JDK),再安装VSCode官方提供的Java扩展包。这两样到位,大部分基础开发场景…

    2026年8月27日
    000
  • 有哪些linux系统

    1、红帽企业版 红帽企业版就是我们常说的RHEL,RHEL具有极强的系统稳定性,红帽公司也是全球最大的开源系统厂商,拥有完善的系统支持。 2、社区企业操作系统 社区企业操作系统就是国内用的比较多的CentOS,其实该系统是把RHEL重新编译免费提供给用户使用的。 3、Fedora 该系统是由红帽公司…

    2026年8月27日
    000
  • 如何解决在线支付系统的复杂性?使用Composer安装OpenpaySDK可以!

    可以通过一下地址学习Composer:学习地址 在开发在线支付系统时,我遇到了一个棘手的问题:如何高效地管理支付流程,同时确保安全性和兼容性。这个问题不仅涉及到复杂的api调用,还需要处理各种错误和边界情况。为了解决这个问题,我尝试了多种方法,最终找到了使用 composer 安装 openpay …

    用户投稿 2026年8月27日
    000
  • 界面美化技巧:去除快捷方式小箭头的终极方法 | 注册表编辑与工具使用

    移除快捷方式小箭头可通过修改注册表或使用第三方工具实现,前者需在注册表中创建Shell Icons项并新建数值为29的字符串,指向shell32.dll中的空白图标,后者可借助Winaero Tweaker等工具一键去除,该操作仅为视觉调整不影响功能,但会失去快捷方式的识别提示,可能对新手造成混淆,…

    2026年8月27日
    000
  • linux不能上网

    linux不能上网linux不能上网linux不能上网linux不能上网

    一、linux网络设置 1、依次单击【System】–>【Preferences】–>【Network Connections】,如下图所示:  2、依次单击【Wired】–>【System eth0】–>【Edit】,如下图所…

    2026年8月27日 用户投稿
    100
  • 美国法院驳回马斯克对OpenAI诉讼的初步禁令

    ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 加州法院驳回马斯克对OpenAI的禁令请求,加速了OpenAI向营利性组织转型的进程。法官表示将加快审理此案,预计在今年晚些时候做出判决。 马斯克于2024年起诉OpenAI及其CEO萨姆·奥尔…

    2026年8月27日
    000
  • 如何在Laravel项目中轻松部署AWSLambda函数?使用hammerstone/sidecar可以!

    可以通过以下地址学习 Composer:学习地址 在开发 laravel 项目时,我遇到了一个棘手的问题:如何在不增加复杂性的情况下,将非 php 的 lambda 函数集成到 laravel 应用中。我尝试过多种方法,但每次都感觉不够简便和高效。最终,我找到了 hammerstone/sideca…

    用户投稿 2026年8月27日
    100
  • Shiro框架下用户AccessToken混淆:如何排查并解决token冲突问题?

    Shiro框架AccessToken冲突问题分析与解决方案 一个基于Spring、Shiro、Redis和MySQL 8的系统近期出现用户AccessToken冲突:用户A登录后,获取到的用户信息却是用户B的。此问题即使清除缓存后依然复现,严重影响系统稳定性。本文将深入分析问题根源并提供有效解决方案…

    2026年8月27日
    000
  • linux怎么解压文件

    一、zip格式 zip可能是目前使用的最多的文档压缩格式。它最大的优点就是在不同的操作系统平台上使用。缺点就是支持的压缩率不是很高,而tar.gz和tar.bz2在压缩率方面做得非常好。 我们可以使用下列的命令压缩一个文件: zip -r archive_name.zip filename (-r是…

    2026年8月27日
    1300
  • 南通盐城巅峰对决!京东3C数码天团为南通打call

    南通盐城巅峰对决!京东3C数码天团为南通打call南通盐城巅峰对决!京东3C数码天团为南通打call南通盐城巅峰对决!京东3C数码天团为南通打call南通盐城巅峰对决!京东3C数码天团为南通打call

    2025年江苏省职业足球超级联赛(简称“苏超”)迎来了第7轮的激烈较量。7月19日,目前排名榜首的南通队在南通足球训练中心如皋基地主场迎战排名第二的盐城队,这场备受瞩目的“焦点之战”不仅是本轮赛事的重头戏,更是一场名副其实的巅峰对决。与赛场上的激情四射相呼应,苏超官方战略合作伙伴京东也在现场搭建了充…

    2026年8月27日 用户投稿
    000
  • 智能客服系统怎么搭建_基于Dialogflow的客服机器人配置

    智能客服系统怎么搭建_基于Dialogflow的客服机器人配置智能客服系统怎么搭建_基于Dialogflow的客服机器人配置智能客服系统怎么搭建_基于Dialogflow的客服机器人配置智能客服系统怎么搭建_基于Dialogflow的客服机器人配置

    答案:搭建基于Dialogflow的智能客服系统需创建Agent、定义意图与实体、配置上下文和履行,通过Webhook集成后端,并持续优化。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 搭建智能客服系统,尤其是基于Dialogflow的客…

    2026年8月27日 用户投稿
    000
  • 谷歌浏览器为什么书签栏会无故消失_谷歌浏览器书签栏消失原因

    书签栏不显示可能因设置关闭、扩展冲突或配置文件损坏。首先检查“显示书签栏”选项并使用快捷键Command+Shift+B恢复;若无效,进入chrome://extensions/禁用所有扩展后逐一排查;仍无法解决时,备份并重命名Default文件夹以重建用户配置;最后可通过替换Bookmarks文件…

    2026年8月27日
    200
  • choco 安装 和 mkcert 本地https

    原文链接:https://blog.spiritling.cn/posts/4cb12659/ Choco命令行安装 直接拷贝执行即可,注意需要管理员身份运行 cmd 安装: 代码语言:javascript代码运行次数:0运行复制 @”%SystemRoot%System32WindowsPower…

    2026年8月27日
    000
  • 2025 智慧生活科技好物换新选购指南发布萤石三款创新产品引领消费趋势

    2025 智慧生活科技好物换新选购指南发布萤石三款创新产品引领消费趋势2025 智慧生活科技好物换新选购指南发布萤石三款创新产品引领消费趋势2025 智慧生活科技好物换新选购指南发布萤石三款创新产品引领消费趋势2025 智慧生活科技好物换新选购指南发布萤石三款创新产品引领消费趋势

    7月15日,2025年中国智慧生活大会在北京隆重召开,现场正式发布《2025智慧生活科技好物换新选购指南》(以下简称“指南”)。萤石网络旗下的4g电池摄像机小魔方cb60、启明ai人脸视频锁y5000fvx、桌面机器人rk3(适老版)三款产品成功入选,凭借其技术突破与场景适配能力,成为智慧生活消费的…

    2026年8月27日 用户投稿
    000
  • linux下查看CPU是几核的

    linux下查看cpu是几核的 查看有几个CPU more /proc/cpuinfo |grep “physical id”|uniq|wc -l 每个cpu是几核(假设cpu配置相同) more /proc/cpuinfo |grep “physical id”|grep “0”|wc -lca…

    2026年8月27日
    000
  • LTUI v2.4 发布, 一个基于lua的跨平台字符终端UI界面库

    ltui是一个基于lua的跨平台字符终端ui界面库。 该框架最初源于xmake中图形化菜单配置的需求,类似于Linux内核的menuconfig,用于配置编译参数。因此,我们基于curses和Lua实现了一整套跨平台的字符终端UI库。其样式风格基本完全参照了kconfig-frontends,当然用…

    2026年8月27日
    000
  • 王者荣耀国际服充值教程

    honor of kings, the international version of the popular game, retains the core gameplay mechanics of its domestic counterpart. victory is achieved by…

    2026年8月27日
    100
  • 如何解决Laravel项目中的HTTP请求问题?使用SaloonPHP/laravel-http-sender可以!

    在开发 Laravel 项目时,HTTP 请求的处理是一个常见但有时棘手的问题。最近,我在项目中遇到了一些 HTTP 请求的难题,比如请求失败、响应处理不当等。这些问题不仅影响了用户体验,还导致了开发效率的下降。在尝试了多种解决方案后,我发现了 SaloonPHP/laravel-http-send…

    用户投稿 2026年8月27日
    000

发表回复

登录后才能评论
关注微信