News

Laravel Valet 3 Released With Multi-Version PHP Support

Published
Laravel Valet 3 Released With Multi-Version PHP Support image

The Laravel team released the next major version of Laravel Valet (3.0), which introduces running multiple versions of PHP in Valet applications side-by-side.

Previously, you could specify which version of PHP Valet used to serve applications locally using valet use php@7.2, but now you can do so on a per-site (including a default) basis using the following commands:

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

After isolating a site, you can see that my local Valet install is serving projects using various isolated PHP versions:

And another application using the default installed version of PHP (v8.1):

Another challenge you might run into with this setup is running commands on the CLI with the matching PHP version. What I do is create a symlink to the brew version of PHP somewhere in my path:

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 )
...

Using this version of PHP, you can prefix commands to composer, etc.:

php74 $(which composer) install

You might also need to symlink other binaries like pecl in the same way to install extensions.

PHP Monitor

Off the heels of PHP Monitor 5.0 for macOS, the author released PHP Monitor 5.2 with support for Valet 3, making management of isolated PHP versions a breeze:

For further details, check out the PHP Monitor 5.2 release post, which includes information on how to source multiple versions of PHP from the command line using a CLI helper provided by phpmon.

Upgrade Today

To upgrade to Valet 3, you can run the following composer command to update and install the latest version of Valet (hat tip to @jakebathman):

composer global require "laravel/valet:^3.0"

Afterward, be sure to run valet install to finish installing. Congratulations to all the contributors, especially Nasir Uddin Nobin, Matt Stauffer, and everyone else involved in working on Valet 3!

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Sponsored

masteringlaravel logo
Laravel Code Review

Get expert guidance in a few days with a Laravel code review

Visit Laravel Code Review

The latest

View all →
Elastic Bridge: Eloquent-Style Queries for Elasticsearch and OpenSearch image

Elastic Bridge: Eloquent-Style Queries for Elasticsearch and OpenSearch

Read article
Laravel Release Cycle: Versions, Support Policy, and Dates image

Laravel Release Cycle: Versions, Support Policy, and Dates

Read article
Unlearn.dev goes free for a weekend, October 10 and 11 image

Unlearn.dev goes free for a weekend, October 10 and 11

Read article
Tashil: Laravel Subscription Plans and Feature Usage Limits image

Tashil: Laravel Subscription Plans and Feature Usage Limits

Read article
Decide with Jev: Laravel AI That Answers with a Probability image

Decide with Jev: Laravel AI That Answers with a Probability

Read article
JetBrains Air: Run AI Coding Agents in JetBrains IDEs image

JetBrains Air: Run AI Coding Agents in JetBrains IDEs

Read article