Valet+

Valet+ is the “blazing fast macOS PHP development environment”.

Documentation

Valet+ extends the original Laravel Valet features. Refer to both for the full documentation.

Install

Follow the install docs.

Update

composer global require weprovide/valet-plus
valet install

Commands

Managing Valet+

valet start Start the Valet daemon.
valet restart Restart the Valet daemon.
valet stop Stop the Valet daemon.
valet uninstall Uninstall the Valet daemon entirely.

Run valet stop before enabling other environments which use the same ports (MAMP/Docker/etc).

Managing sites

The park command

  1. Navigate to folder: cd ~/path/to/sites
  2. Run valet park
  3. Each sub-folder will be available as: http://foldername.test
valet paths View all of your “parked” paths.
valet forget Run this command from a “parked” directory to remove it from the parked directory list.

The link command

  1. Navigate to folder: cd ~/path/to/site/root
  2. Run valet link {linkName}
  3. The site will be available as: http://{linkName}.test
valet link {linkName} Add a linked directory.
valet links View all of your linked paths.
valet unlink {linkName} Remove a linked directory.

Managing databases

  • Username: root
  • Password: root
valet db ls List databases
valet db create {name} Create database
valet db drop {name} Drop database
valet db export {databaseName} Export database as {databaseName}-{date}.sql.gz
valet db export {fileName} {databaseName} Export database as {fileName}.sql.gz
valet db import {fileName}.sql {databaseName} Import database from file (.sql or .sql.gz)
valet db open {name} Open database in Sequel Pro

Securing sites

Command Outcome
valet secure hobbiton https://hobbiton.test
valet unsecure hobbiton http://hobbiton.test

Sharing sites

  1. Navigate to the site’s path in terminal.
  2. Run valet share.
  3. Copy the site URL.
  4. Type Control + C to stop sharing.

Troubleshooting

PHP goes insane

🔥🔥🔥 Hot drama alert — I don’t like Homebrew and this is why.

When Homebrew removed “taps” for PHP and made them part of homebrew/core it broke Valet+ for a lot of people. About 6 months later, Homebrew made the latest PHP the default, which broke it again. So Valet+ decided maintain their own PHP taps, but that also broke my existing Valet+ install.

MySQL goes insane

🔥🔥🔥 Hot drama alert — I don’t like Homebrew and this is why.

When installing Valet+ you see this error in the console log:

Setting password for root user failed.

If Homebrew installs/updates to MySQL 8 — that breaks Valet+, which requires MySQL 5.7. You’ll waste hours trying to reinstall Valet+ or MySQL but nothing will work. You have to scorch any trace of MySQL ever existing on your computer, restart, then destroy and reinstall Valet+ so it can install the MySQL version it requires.

Reference

Related issues

MySQL access denied

When you get this error, don’t touch MySQL or Homebrew. It’s fixable by restarting and toggling HTTPS on/off for the site in Valet+. No idea why this works.

SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES)
  • Try valet restart.
  • Try valet unsecure {name} then valet secure {name}.