雷达智富

首页 > 内容 > 程序笔记 > 正文

程序笔记

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

2024-09-28 31

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

1. Laravel Valet 介绍


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

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

2. Laravel Valet 安装


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

1. 将 homebrew 更新到最新版

brew update

2. 安装 PHP

brew install php

3. 使用 brew 安装 nginx

brew install nginx

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

brew install composercomposer global require laravel/valet

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

valet install

3. 测试 Laravel Valet


查看 Valet 的版本号

valet --versionvalet -V

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

ping liang.testping itqaq.test

4. PHP 版本


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

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

valet use php@7.4

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

php@7.2

使用命令写入

echo php@7.2 > .valetphprc

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

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

valet use

5. 服务站点


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

1. valet park 命令

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

假设目录结构如下:

code├── html├── css

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

valet park

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

http://html.testhttp://css.test

2. valet link 命令

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

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

给当前目录配置站点:

# 访问域名默认为: 当前目录名.testvalet link# 访问域名默认为: name.testvalet link [name]

假设当前在 laravel 目录,使用示例:

# 访问域名: laravel.testvalet link# 访问域名: blog.testvalet link blog

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

valet links

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

# 删除当前目录的 linkvalet unlink# 删除指定名称的 linkvalet unlink name

6. 定制 Valet 驱动


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

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

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

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

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

/Users/liang/code/api/news

$siteName 是域名的站点名称

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

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

/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 版本
更新于:1个月前
赞一波!

文章评论

评论问答