Laravel Valet - macOS 极简主义者的开发环境

news2024/9/23 5:32:02

  • 1. Lar**el Valet 介绍
  • 2. Lar**el Valet 安装
  • 3. 测试 Lar**el Valet
  • 4. PHP 版本
  • 5. 服务站点
  • 6. 定制 Valet 驱动
  • 7. Valet 常用命令

1. Lar**el Valet 介绍


Lar**el Valet 是 macOS 极简主义者的开发环境。Lar**el Valet 将您的 mac 配置为在您的机器启动时始终在后台运行 Nginx,然后使用 Dnsmasq,Valet 代理 *.test 域上的所有请求指向安装在本地计算机上的站点

Valet 是一个超快的 Lar**el 开发环境,不需要配置 /etc/hosts,它大约使用 7 MB 的 RAM。

2. Lar**el Valet 安装


Valet 需要 macOS 和 Homebrew。在安装前应该确保没有其他程序绑定到本地计算机的 80 端口

1. 将 homebrew 更新到最新版

  1. brew update

2. 安装 PHP

  1. brew install php

3. 使用 brew 安装 nginx

  1. brew install nginx

4. 安装 composer 并将 Valet 安装为全局 composer 包

  1. brew install composer
  2. composer global require lar**el/valet

5. 执行 Valet 的安装命令。这将安装和配置 Valet 和 DnsMasq。此外,Valet 所依赖的守护进程将配置为在系统启动时启动

  1. valet install

3. 测试 Lar**el Valet


查看 Valet 的版本号

  1. valet --version
  2. valet -V

ping 任意 *.test 格式的域名,显示的 IP 的都是 127.0.0.1 证明 Valet 安装成功

  1. ping liang.test
  2. ping itqaq.test

4. PHP 版本


Valet 允许您使用 valet use php@version 命令切换 PHP 版本

如果没有安装这个版本 Valet 将通过 Homebrew 安装指定的 PHP 版本

  1. valet use php@7.4

也可以在项目的根目录中创建一个 . valetphprc 文件,在这个文件中记录站点应该使用的 PHP 版本

  1. php@7.2

使用命令写入

  1. echo php@7.2 > .valetphprc

创建此文件后,可以简单的执行 valet use 命令,该命令通过读取文件来确定站点首选 PHP 版本

即使你安装了多个 PHP 版本,Valet 一次也只提供一个 PHP 版本

  1. valet use

5. 服务站点


安装 Valet 后,就可以开始为应用程序提供服务了。Valet 提供 park 和 link 两个命令来帮助您为应用程序提供服务

1. valet park 命令

park 命令会注册一个包含您的应用程序的目录,一旦目录被 Valet “认可”,也就是被 park,该目录中的所有子目录都可以通过 http://子目录名.test 访问。此外,valet 自动允许使用通配符子域访问该站点(比如: http://foo.子目录名.test

假设目录结构如下:

  1. code
  2. ├── html
  3. ├── css

在 code 目录中执行下面命令(code 目录被 valet 认可了)

  1. valet park

然后就可以通过下面域名访问子目录

  1. http://html.test
  2. http://css.test

2. valet link 命令

park 命令用于给目录下的所有子目录配置站点,而如果只是想在目录中提供单个站点而不是整个目录,则需要使用 link 命令

使用 link 命令将应用程序链接到 valet 后,可以使用其目录名称作为域名访问该应用程序,当然,也可以指定访问名称。link 命令像 park 命令一样支持使用通配符子域访问该站点

给当前目录配置站点:

  1. # 访问域名默认为: 当前目录名.test
  2. valet link
  3. # 访问域名默认为: name.test
  4. valet link [name]

假设当前在 lar**el 目录,使用示例:

  1. # 访问域名: lar**el.test
  2. valet link
  3. # 访问域名: blog.test
  4. valet link blog

查看使用 link 命令添加的站点

  1. valet links

删除通过 link 命令添加的站点

  1. # 删除当前目录的 link
  2. valet unlink
  3. # 删除指定名称的 link
  4. valet unlink name

6. 定制 Valet 驱动


Valet 是为 Lar**el 定制的开发环境,默认是不支持 ThinkPHP 等常用框架和 CMS

但是可以自己编写 Valet 驱动程序在 Valet 本身不支持的框架或 CMS 上运行 PHP 应用程序提供服务

安装 Valet 时,会在 ~/.config/valet/Drivers 目录中创建一个包含 SampleValetDriver.php,这是一个驱动程序实现示例,用于演示如何编写自定义驱动程序,编写驱动程序只需要实现三个方法: serversisStaticFilefrontControllerPath

这三个方法都接收 $sitePath$siteName$uri 的值作为它们的参数

$sitePath 是站点的绝对路径地址,示例:

  1. /Users/liang/code/api/news

$siteName 是域名的站点名称

  1. 访问域名: http://news.test,那么 $siteName 的值为: news
  2. 访问域名: http://api.news.test,那么 $siteName 的值为: api.news

$uri 是请求地址中的 uri 值(不包含查询字符串)

  1. /index/abc

7. Valet 常用命令


命令描述
valet list列出所有命令
valet park目录下的所有子目录作为访问站点
valet paths查看所有被 park 的目录
valet forget将当前目录从已 park 列表中删除
valet link [name]配置单个站点
valet links查看所有通过 link 配置的站点
valet unlink [name]删除 links 列表中的站点
valet start启动 valet
valet stop停止 valet
valet restart重启 valet
valet uninstall卸载 valet
valet use php@version切换 Valet 使用的 PHP 版本
valet use从 .valetphprc 文件读取首选 PHP 版本

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/69136.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

超实用的日志分析工具——Flightplot,你不会还没用过吧

在上一篇文章中已经为大家介绍过Flight Review分析日志工具的具体使用,但是该工具在使用过程中难免存在一些问题,例如:Flight Review工具需要在线浏览,很多时候受制于电脑网络延迟等问题,导致日志信息加载失败&#xf…

win11摄像头黑了用不了的七个解决办法

目录 前言必读 方法一、重置和隐式设置摄像头 方法二、更新windwos驱动 方法三、检查串行总线控制器 方法四、下载驱动精灵来安装驱动 方法五、驱动精灵里面修复 方法六、检查键盘上面有没有物理摄像头按键 方法七、使用万能摄像头 前言必读 读者手册(必读&…

职场经验:为什么要学习自动化测试?过来人告诉你答案

学习自动化这个想法,其实自己在心里已经琢磨了很久,就是一直没付诸实践,觉得现在手工测试已经能满足当前的工作需要,不想浪费时间去学习新的东西,有点时间还不如刷刷视频、看看小说等。 为什么要进行自动化测试&#x…

大量节省实施解决方案的时间和成本——AI vision生态系统

AI Vision是一款对用户友好的工具包 基于AI图像处理可以提高各个行业中的竞争力,已经测试并实现应用的用户无不惊讶于这一系统的速度以及出色成效。但不幸的是,AI Vision尚未得到全面评估,可以理解为黑盒,它不像制造商常常声称的…

如何搭建Docker环境

Docker 是一种虚拟化技术,基于 Linux 的容器机制(Linux Containers,简称 LXC),可以把它近似地理解成是一个“轻量级的虚拟机”,只消耗较少的资源就能实现对进程的隔离保护 使用 Docker 可以把应用程序和它…

MarchineCubes实现思路总结

MarchineCubes定义 是一种基于体素构建三维模型的方式,有些类似《我的世界》中的堆方块,但实际上,建模是以方块之间的交点为中心点,每个cube表示八个象限的相交模型 实现思路 在三维空间中划分网格,每个网格是一个c…

[附源码]JAVA毕业设计体育竞赛成绩管理系统(系统+LW)

[附源码]JAVA毕业设计体育竞赛成绩管理系统(系统LW) 项目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目…

Java基础之《netty(9)—netty和线程模型概述》

一、netty概述 1、NIO的类库和API繁杂,使用麻烦;需要熟练掌握Selector、ServerSocketChannel、SocketChannel、ByteBuffer等。 2、需要具备其他的额外技能,要熟悉Java多线程编程,因为NIO编程涉及到Reactor模式,你必须…

Java --- Spring6之Set方法注入

目录 一、注入外部Bean与内部Bean 二、简单类型注入 三、级联属性赋值 四、注入数组 五、List与Set注入 六、Map和Properties注入 一、注入外部Bean与内部Bean public class OrderDao {private static final Logger logger LoggerFactory.getLogger(UserDao.class);public…

led台灯哪个牌子效果最好?2022最新国产led灯品牌排行

目前台灯的发展非常迅速,已经到了全面led灯的时代,传统的卤素灯已经近乎完全淘汰,这不仅仅是跟技术的发展有关,也跟led灯本身的优势有关,各方面很适合做成护眼灯。 护眼灯为什么都是led灯? 护眼台灯使用le…

外卖配送系统搭建,骑手实时更新,路线规划更科学

在如今快节奏的现代生活,人们基本离不开外卖,这也催生了不少外卖配送系统的诞生,那你知道外卖配送系统搭建吗?如果想要一款外卖系统,如何着手呢? 要想开发一款成功的外卖配送系统,要先进行市场…

论文笔记|DeepWalk

简介 DeepWalk是由Bryan Perozzi,Rami Al-Rfou和Steven Skiena在2014年提出的,它是一种基于图的无监督特征学习方法,它有趣的点是将文本处理任务中词向量的处理思想迁移到了图特征学习上,就像处理句子得到word embedding一样&…

深入linux内核架构--进程线程

简介 进程和线程这两个词,每个程序员都十分熟悉,但是想要很清晰的描述出来却有一种不知道从何说起的感觉。所以今天结合一个具体的例子来描述一下进程与线程的相关概念:在terminal上敲出a.out这个自己编译出来可执行程序路径后,这…

【预测模型】基于随机蛙跳算法 SFLA优化神经网络实现数据回归预测附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

Kafka 3.3.1 Kraft 多端口协议搭建

Kafka 3.3.1 Kraft 多端口协议搭建 序 Kafka 3.3.1 已经出来挺久了,很多公司还停留在 1.X/2.X 甚至 0.8 版本的 kafka,不是说不能用,但是用起来真的糟糕,况且现在 Kraft 已经正式推出了,早就该更新了。 本篇文章从实…

276 t230 二叉搜索树第k小的元素

题解 思路:定义一个全局变量,初值赋予k.中序遍历,每次访问一个,变量–,当该变量为0时,就把val值赋予另一个全局变量返回. class Solution {int resKthSmallest0;int countKthSmallest;// 276 t230 二叉搜索树第k小的元素public int kthSmallest(TreeNode root, int k) {count…

大数据人工智能实验室-大数据培训方案

随着计算机和信息技术的迅猛发展和普及应用,行业应用系统的规模迅速扩大,行业应用所产生的数据呈爆炸性增长。企业需要将隐藏在大批杂乱无章的数据中进行信息的集中、萃取和提炼,找出所研究对象的内在规律,从而对决策提供帮助&…

预训练模型-代码补全(二):Copilot(GitHub)

​ GitHub Copilot是一个为开发者提供的突破性的AI编程辅助工具,但这才是开始。 昨天,Copilot团队推出了一个名为GitHub Copilot Labs的VS Code配套扩展。它独立于(并依赖于)GitHub Copilot扩展。它可以用来解释代码和翻译代码。…

【元胞自动机】格子波尔兹曼模型研究(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

【JNA】java springboot 动态读取动态库

【JNA】java springboot 动态读取动态库创建名为dynamic-lib-load.xml的文件资源目录结构如下工具类LibraryLoadDynamicParseUtil工具类调用我们在使用第三方动态库 时长出现动态库无法读取jar包内的动态库文件,以下代码希望对大家有帮助 废话不多说,上代…