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


    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
    
    • 1

    2. 安装 PHP

    brew install php
    
    • 1

    3. 使用 brew 安装 nginx

    brew install nginx
    
    • 1

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

    brew install composer
    composer global require laravel/valet
    
    • 1
    • 2

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

    valet install
    
    • 1

    3. 测试 Laravel Valet


    查看 Valet 的版本号

    valet --version
    valet -V
    
    • 1
    • 2

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

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

    4. PHP 版本


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

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

    valet use php@7.4
    
    • 1

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

    php@7.2
    
    • 1

    使用命令写入

    echo php@7.2 > .valetphprc
    
    • 1

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

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

    valet use
    
    • 1

    5. 服务站点


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

    1. valet park 命令

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

    假设目录结构如下:

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

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

    valet park
    
    • 1

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

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

    2. valet link 命令

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

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

    给当前目录配置站点:

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

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

    # 访问域名: laravel.test
    valet link
    # 访问域名: blog.test
    valet link blog
    
    • 1
    • 2
    • 3
    • 4

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

    valet links
    
    • 1

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

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

    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
    
    • 1

    $siteName 是域名的站点名称

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

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

    /index/abc
    
    • 1

    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 版本
  • 相关阅读:
    SpringBoot自定义banner,如何定制炫酷的banner提升项目B格?
    java面试强基(16)
    分布式-分布式选举算法
    【入门篇】ClickHouse 数据类型
    2023最新国内外项目进度管理软件排行榜(推荐)
    Replicate + ngrok云端大模型API实现教程
    零基础学 Java 编程需要注意哪些事项?
    Transformers in Remote Sensing: A Survey
    【Linux操作系统】——安装CentOS系统
    U-boot下netconsole实现
  • 原文地址:https://blog.csdn.net/qq_40994734/article/details/126231228