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

Laravel Valet 3 Released With Multi-Version PHP Support

Published on by

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.

Filed in:
Cube

Laravel Newsletter

Join 40k+ other developers and never miss out on new tips, tutorials, and more.

image
Laravel Cloud

Easily create and manage your servers and deploy your Laravel applications in seconds.

Visit Laravel Cloud
Bacancy logo

Bacancy

Supercharge your project with a seasoned Laravel developer with 4-6 years of experience for just $3200/month. Get 160 hours of dedicated expertise & a risk-free 15-day trial. Schedule a call now!

Bacancy
Tinkerwell logo

Tinkerwell

The must-have code runner for Laravel developers. Tinker with AI, autocompletion and instant feedback on local and production environments.

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

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

Expert code review! Get clear, practical feedback from two Laravel devs with 10+ years of experience helping teams build better apps.

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

Kirschbaum

Providing innovation and stability to ensure your web application succeeds.

Kirschbaum
Shift logo

Shift

Running an old Laravel version? Instant, automated Laravel upgrades and code modernization to keep your applications fresh.

Shift
Harpoon: Next generation time tracking and invoicing logo

Harpoon: Next generation time tracking and invoicing

The next generation time-tracking and billing software that helps your agency plan and forecast a profitable future.

Harpoon: Next generation time tracking and invoicing
Lucky Media logo

Lucky Media

Get Lucky Now - the ideal choice for Laravel Development, with over a decade of experience!

Lucky Media
SaaSykit: Laravel SaaS Starter Kit logo

SaaSykit: Laravel SaaS Starter Kit

SaaSykit is a Multi-tenant Laravel SaaS Starter Kit that comes with all features required to run a modern SaaS. Payments, Beautiful Checkout, Admin Panel, User dashboard, Auth, Ready Components, Stats, Blog, Docs and more.

SaaSykit: Laravel SaaS Starter Kit

The latest

View all →
Generate Secure, Memorable Passphrases in PHP with PHP Passphrase image

Generate Secure, Memorable Passphrases in PHP with PHP Passphrase

Read article
FrankenPHP v1.11.2 Released With 30% Faster CGO, 40% Faster GC, and Security Patches image

FrankenPHP v1.11.2 Released With 30% Faster CGO, 40% Faster GC, and Security Patches

Read article
Capture Web Page Screenshots in Laravel with Spatie's Laravel Screenshot image

Capture Web Page Screenshots in Laravel with Spatie's Laravel Screenshot

Read article
Nimbus: An In-Browser API Testing Playground for Laravel image

Nimbus: An In-Browser API Testing Playground for Laravel

Read article
Laravel 12.51.0 Adds afterSending Callbacks, Validator whenFails, and MySQL Timeout image

Laravel 12.51.0 Adds afterSending Callbacks, Validator whenFails, and MySQL Timeout

Read article
Handling Large Datasets with Pagination and Cursors in Laravel MongoDB image

Handling Large Datasets with Pagination and Cursors in Laravel MongoDB

Read article