「开发环境」让 Valet 支持多个本地项目使用不同 PHP 版本

「开发环境」让 Valet 支持多个本地项目使用不同 PHP 版本

Mac 开发环境

在开发过程中,开发环境有非常多如:Homestead Laradock Valet Xampp 等,它们在不同场景中都各有优势,这里我说一下我最喜爱的 Valet 它是 Mac 极简主义者的 Laravel 开发环境,它创建一个站点可以说飞快,不用去做其他繁琐的配置一条命令就搞定

Valet 缺陷

之前版本的 Valet 中没有自带命令去切换 PHP 版本,只能我们自己在终端中手动切换 PHP 然后再重启 Valet。
在最新版 Valet 中支持 use 命令去切换 PHP 版本

valet use [email protected]

虽然简化了我们手动切换 PHP 版本的操作,但是 use 命令切换的是所有本地项目的 PHP 版本,意思就是其他所有本地项目也会使用 [email protected] 这个版本,我们本地项目中如果有两个项目需要使用不同 PHP 版本的话,就得来回 use 切换,这样相当耗时对于急性子的同学相当不友好。

技巧

目前官方还没有支持多站点不同 PHP 版本的操作,可能在将来版本中会支持,不过我们可以自己修改。

修改 PHP 监听的 valet.sock 名称

安装完 Valet 之后会自动修改 PHP 配置让其监听 valet.sock,如我本机 [email protected] 配置文件在 /usr/local/etc/php/7.2/php-fpm.d/www.conf,我们将 /Users/luoyan/.config/valet/valet.sock 修改成 /Users/luoyan/.config/valet/valet72.sock

「开发环境」让 Valet 支持多个本地项目使用不同 PHP 版本

然后在重启 Brew 管理的 PHP 服务

sudo brew services restart [email protected] # 注意需要使用 sudo

这个时候你会发现在 ~/.config/valet 目录中有一个 valet72.sock

「开发环境」让 Valet 支持多个本地项目使用不同 PHP 版本

修改 Nginx 配置

因为 Valet 配置中默认让 nginx 只监听 valet.sock 进程,所以我们需要修改 nginx 配置文件,Valet 有一个命令让本地站点配置成 https 协议,并且生成站点 nginx 配置

# 到本地项目中根目录
valet secure nxdai

在上面命令中注意修改你本地站点域名,这条命令会在 ~/.config/valet/Nginx 目录下生成当前项目站点的 Nginx Https 的配置

「开发环境」让 Valet 支持多个本地项目使用不同 PHP 版本

然后在配置文件中搜索 valet.sock 改成之前在 PHP-FPM www.conf 配置文件中监听的 valet72.sock

「开发环境」让 Valet 支持多个本地项目使用不同 PHP 版本

注意这个配置文件中有两处 fastcgi_pass 要修改

最后重启一下 Mac 本机 Nginx

sudo brew services restart nginx # 主要要用 sudo

到此整个修改流程完毕,其他站点 PHP 版本配置类似

效果图

「开发环境」让 Valet 支持多个本地项目使用不同 PHP 版本

有任何疑问可以到文章下方讨论

你可能感兴趣的:(开发环境,php,macos)