Laravel 团队发布了Laravel Valet的下一个主要版本(3.0),它引入了在 Valet 应用程序中并行运行多个版本的 PHP。
以前,你可以使用 指定用于在本地为应用程序提供服务的 PHP Valet 版本valet use php@7.2
,但现在你可以使用以下命令在每个站点(包括默认值)的基础上执行此操作:
cd path/to/app
# Isolate the current project
valet isolate php@7.4
# Isolate a site by name
# This command will also install the PHP version
# if it's not already installed.
valet isolate php@8.0 --site=laravel9x
隔离站点后,你可以看到我的本地 Valet 安装正在使用各种隔离的 PHP 版本为项目提供服务:
另一个使用默认安装的 PHP (v8.1) 版本的应用程序:
使用此设置可能遇到的另一个挑战是在 CLI 上使用匹配的 PHP 版本运行命令。我所做的是在我的路径中的某处创建指向 PHP brew 版本的符号链接:
ln -s $(brew --prefix php@7.4)/bin/php $HOME/bin/php74
php74 --version
PHP 7.4.28 (cli) (built: Mar 3 2022 06:26:49) ( NTS )
...
使用这个版本的 PHP,你可以给 composer 等添加前缀命令:
php74 $(which composer) install
你可能还需要以pecl
相同的方式符号链接其他二进制文件以安装扩展。
PHP 监视器
继 PHP Monitor 5.0 for macOS 之后,作者发布了支持 Valet 3 的 PHP Monitor 5.2,使得管理孤立的 PHP 版本变得轻而易举: