搜索
首页后端开发php教程Mac极简的开发环境Laravel Valet实践

Laravel Valet 是一个 Mac 下面的极简的开发环境,不但可以本地开发,还可以分享到公网访问,当你的电脑开机后会在后台一直启动  Caddy , Valet 通过  DnsMasq 把所有的 .dev 域名指向你本地安装的站点,比如站点所在目录 blog , 通过浏览器访问 blog.dev 就会自动访问到 blog 了。分享到公网其实主要依靠 ngrok 来实现的。

先来安装一下

  • 更新 Homebrew
brew update  
  • 确保 brew services 可用
brew services list  
  • 安装 php70 如果没有安装的话
brew install php70  
  • 确保 ~/.composer/vendor/bin 已经添加到系统PATH目录中
  • 安装 Valet
composer global require laravel/valet  
  • 安装 Valet 和  DnsMasq
valet install  

如果上一步出现下面的错误:

[ReflectionException]  Class Fxp\Composer\AssetPlugin\Repository\NpmRepository does not exist

这是由于 Composer\Repository\ComposerRepository::whatProvides API 更新了,你已经全局安装了 fxp/composer-asset-plugin ,所以你需要更新一下:

composer global require fxp/composer-asset-plugin --no-plugins  

如果 DnsMasq 安装失败的话手动安装一下

brew install dnsmasq  
  • Ping一下 *.dev ,如果Ping通了说明就OK了
⇒  ping *.devPING *.dev (127.0.0.1): 56 data bytes  64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.040 ms  64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.065 ms  64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.064 ms  64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.062 ms  

下面来启动一个 Valet 站点

目前直到 1.1.7 版本支持的驱动如下:

  • Laravel
  • Lumen
  • Symfony
  • Zend
  • CakePHP 3
  • WordPress
  • Bedrock
  • Craft
  • Statamic
  • Jigsaw
  • Wordpress
  • Joomla
  • Contal
  • Sculpin
  • Static HTML

当然,你也是可以自己驱动, Custom Valet Drivers

  • 创建一个文件夹
mkdir ~/WebRoot/ValetSite && cd ~/WebRoot/ValetSite  
  • 运行 park 命令,把上面的目录作为寻找站点路径
valet park  
  • 创建一个Laravel驱动的站点
laravel new blog  
  • 浏览器访问 http://blog.dev 就OK了

link 命令也可以用来启动 Laravel 站点。 park 命令会把这个目录下所有文件夹都当做独立的不同站点,而当你只需要启动一个站点的时候,可以使用  link 命令。

cd ~/WebRoot/ValetSite/blog  valet link test-blog  

执行上面命令就可以通过 http://test-blog.dev 访问项目站点了,还有两个有用的命令:

valet links  valet unlink  

一看就知道干嘛用的了

让站点支持TLS

让站点支持TLS也很简单,自需要执行:

valet secure blog  

这样就可以用 https://blog.dev 进行访问了,取消的话:

valet unsecure blog  

分享站点

这个需求其实挺实用,比如自己开发的东西需要让别人通过外网访问到,只需要一个简单的命令就可以了

valet share  

这样就会通过 ngrok 生成一个外网URL,要停止分享,可以按  Control + C 来取消进程。

ngrok by @inconshreveable                                                                                                                                                 (Ctrl+C to quit)Tunnel Status                 online  Version                       2.0.25/2.1.1  Region                        United States (us)  Web Interface                 http://127.0.0.1:4040  Forwarding                    http://fda651a8.ngrok.io -> blog.dev:80  Forwarding                    https://fda651a8.ngrok.io -> blog.dev:80Connections                   ttl     opn     rt1     rt5     p50     p90                                0       0       0.00    0.00    0.00    0.00

查看站点日志

如果你想查看所有站点的日志,让新的日志也会自动的展示在终端中只需要执行 valet logs

其实还有一个隐藏的控制台:访问 http://localhost:4040/inspect/http

还有一些 Valet 命令

命令 描述

valet forget

在 “parked” 的目录中执行该命令来把其从 parded 目录列表中删除。

valet paths

查看所有 “parked” 路径

valet restart

重启 Valet 程序

valet start

启动 Valet 程序

valet stop

停止 Valet 程序

valet uninstall

卸载 Valet 程序

转载请注明:转载自 Ryan是菜鸟 | LNMP技术栈笔记

如果觉得本篇文章对您十分有益,何不打赏一下

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
您如何修改PHP会话中存储的数据?您如何修改PHP会话中存储的数据?Apr 27, 2025 am 12:23 AM

tomodifyDataNaphPsession,startTheSessionWithSession_start(),然后使用$ _sessionToset,修改,orremovevariables.1)startThesession.2)setthesession.2)使用$ _session.3)setormodifysessessvariables.3)emovervariableswithunset()

举一个在PHP会话中存储数组的示例。举一个在PHP会话中存储数组的示例。Apr 27, 2025 am 12:20 AM

在PHP会话中可以存储数组。1.启动会话,使用session_start()。2.创建数组并存储在$_SESSION中。3.通过$_SESSION检索数组。4.优化会话数据以提升性能。

垃圾收集如何用于PHP会议?垃圾收集如何用于PHP会议?Apr 27, 2025 am 12:19 AM

PHP会话垃圾回收通过概率机制触发,清理过期会话数据。1)配置文件中设置触发概率和会话生命周期;2)可使用cron任务优化高负载应用;3)需平衡垃圾回收频率与性能,避免数据丢失。

如何在PHP中跟踪会话活动?如何在PHP中跟踪会话活动?Apr 27, 2025 am 12:10 AM

PHP中追踪用户会话活动通过会话管理实现。1)使用session_start()启动会话。2)通过$_SESSION数组存储和访问数据。3)调用session_destroy()结束会话。会话追踪用于用户行为分析、安全监控和性能优化。

如何使用数据库存储PHP会话数据?如何使用数据库存储PHP会话数据?Apr 27, 2025 am 12:02 AM

利用数据库存储PHP会话数据可以提高性能和可扩展性。1)配置MySQL存储会话数据:在php.ini或PHP代码中设置会话处理器。2)实现自定义会话处理器:定义open、close、read、write等函数与数据库交互。3)优化和最佳实践:使用索引、缓存、数据压缩和分布式存储来提升性能。

简单地说明PHP会话的概念。简单地说明PHP会话的概念。Apr 26, 2025 am 12:09 AM

phpsessionstrackuserdataacrossmultiplepagerequestsusingauniqueIdStoredInacookie.here'showtomanageThemeffectionaly:1)startAsessionWithSessionwwithSession_start()和stordoredAtain $ _session.2)

您如何循环中存储在PHP会话中的所有值?您如何循环中存储在PHP会话中的所有值?Apr 26, 2025 am 12:06 AM

在PHP中,遍历会话数据可以通过以下步骤实现:1.使用session_start()启动会话。2.通过foreach循环遍历$_SESSION数组中的所有键值对。3.处理复杂数据结构时,使用is_array()或is_object()函数,并用print_r()输出详细信息。4.优化遍历时,可采用分页处理,避免一次性处理大量数据。这将帮助你在实际项目中更有效地管理和使用PHP会话数据。

说明如何使用会话进行用户身份验证。说明如何使用会话进行用户身份验证。Apr 26, 2025 am 12:04 AM

会话通过服务器端的状态管理机制实现用户认证。1)会话创建并生成唯一ID,2)ID通过cookies传递,3)服务器存储并通过ID访问会话数据,4)实现用户认证和状态管理,提升应用安全性和用户体验。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具