Laravel Valet:多个本地项目使用不同 PHP 版本
Mac 开发环境#
在开发过程中,开发环境有非常多如:Homestead
Laradock
Valet
Xampp
等,它们在不同场景中都各有优势,这里我说一下我最喜爱的 Valet
它是 Mac 极简主义者的 Laravel 开发环境,它创建一个站点可以说飞快,不用去做其他繁琐的配置一条命令就搞定
Valet 缺陷#
之前版本的 Valet 中没有自带命令去切换 PHP 版本,只能我们自己在终端中手动切换 PHP 然后再重启 Valet。
在最新版 Valet 中支持 use
命令去切换 PHP 版本
valet use php@7.2
mac 也可以使用
brew search php
brew-php-switcher 7.4
注意:只有使用 brew 安装的才可以切换
虽然简化了我们手动切换 PHP 版本的操作,但是 use
命令切换的是所有本地项目的 PHP 版本,意思就是其他所有本地项目也会使用 php@7.2
这个版本,我们本地项目中如果有两个项目需要使用不同 PHP 版本的话,就得来回 use
切换,这样相当耗时对于急性子的同学相当不友好。
技巧#
目前官方还没有支持多站点不同 PHP 版本的操作,可能在将来版本中会支持,不过我们可以自己修改。
修改 PHP 监听的 valet.sock 名称#
安装完 Valet 之后会自动修改 PHP 配置让其监听 valet.sock
,如我本机 php@7.2
配置文件在 /usr/local/etc/php/7.2/php-fpm.d/www.conf
,我们将 /Users/luoyan/.config/valet/valet.sock
修改成 /Users/luoyan/.config/valet/valet72.sock
然后在重启 Brew
管理的 PHP
服务
sudo brew services restart php@7.2 # 注意需要使用 sudo
这个时候你会发现在 ~/.config/valet
目录中有一个 valet72.sock
修改 Nginx 配置#
因为 Valet 配置中默认让 nginx
只监听 valet.sock
进程,所以我们需要修改 nginx
配置文件,Valet 有一个命令让本地站点配置成 https
协议,并且生成站点 nginx
配置
# 到本地项目中根目录
valet secure nxdai
在上面命令中注意修改你本地站点域名,这条命令会在 ~/.config/valet/Nginx
目录下生成当前项目站点的 Nginx Https 的配置
然后在配置文件中搜索 valet.sock
改成之前在 PHP-FPM www.conf
配置文件中监听的 valet72.sock
注意这个配置文件中有两处
fastcgi_pass
要修改
最后重启一下 Mac 本机 Nginx
sudo brew services restart nginx # 主要要用 sudo
到此整个修改流程完毕,其他站点 PHP 版本配置类似
推荐文章: