Troubleshooting Laravel Valet on macOS Sierra

News

September 22nd, 2016

Troubleshooting Laravel Valet on macOS Sierra

macOS Sierra was released just a few days ago and everybody is starting to upgrade. Some users of Laravel Valet have reported some problems and Adam Wathan has put together a list of common problems and troubleshooting tips to help resolve issues he’s been seeing.

With his permission to post here is a list of things to look for:

All I see is “It works!”

Apache is running on port 80 and interfering with Valet.

  1. Stop Apache: sudo /usr/sbin/apachectl stop
  2. Restart Valet: valet restart

Valet randomly dies

You are probably still on Valet <= 1.1.19, it’s recommended to pin to ^1.1.22.

First, edit ~/.composer/composer.json to point to ^1.1.22 like this:

```diff
- "laravel/valet": "^1.1.19",
+ "laravel/valet": "^1.1.22",
 
Next, run `composer global update` and then restart Valet with it’s `valet restart` command.
 
Every time I refresh I see a totally random file!
-------------------------------------------------
 
You are running Caddy 0.9.2, which has a known bug related to fastcgi connections.
 
Edit your `~/.composer/composer.json` to point to `^1.1.22` like this:
- "laravel/valet": "^1.1.19",
+ "laravel/valet": "^1.1.22",
 
Next, run `composer global update`, ensure you are now running Caddy 0.9.1 by running `~/.composer/vendor/laravel/valet/bin/caddy -version` and finally restart Valet `valet restart`
 
I’m getting a 502 Bad Gateway error.
------------------------------------
 
Usually, this means something is messed up with PHP FPM. The first step is to confirm that FPM is *not* running:

ps aux | grep fpm

 
You should see at least two processes there if PHP FPM is running (one is grep, ignore that one.) Chances are PHP FPM *is not* running.
 
Next, check the PHP FPM error log to find out why it’s not running:

cat /usr/local/opt/php70/var/log/php-fpm.log

 
Try to resolve any errors you see. Here’s a few common ones:
 
- `/var/run/valet/fpm.socket` does not exist
- Failed to open configuration file `/usr/local/etc/php/7.0/php-fpm.conf`
 
Problem: /var/run/valet/fpm.socket does not exist!
--------------------------------------------------
 
If you see an error similar to:
 
> Unable to bind listening socket for address ‘/var/run/valet/fpm.socket’: No such file or directory
 
in the file `/usr/local/opt/php70/var/log/php-fpm.log`, you were probably running `dev-master` and have now switched back to tagged releases.
 
Valet 1.1.22 attempts to automate fixing this issue by explicitly configuring where PHP FPM should listen.
 
First make sure `~/.composer/composer.json` points to `^1.1.22`:
  • "laravel/valet": "^1.1.19",
  • "laravel/valet": "^1.1.22",
 
Then run `composer global update` and finally `valet install`.
 
Problem: php-fpm.conf is missing!
---------------------------------
 
Something went wrong when installing PHP through Homebrew. This seems to happen on fresh non-upgrade installations of macOS Sierra.
 
1. Uninstall PHP 7: `brew uninstall php70`
2. Reinstall PHP 7 from source: `brew install php70 --build-from-source`
3. Re-run `valet install`
 
Where to Look for Valet Errors?
-------------------------------
 
If you are still running into problems, here’s a list of log files to check:
 
**Caddy start log:**

/tmp/com.laravel.valetServer.err

 
**PHP FPM error log:**

/usr/local/opt/php70/var/log/php-fpm.log

 
**Caddy error log:**

~/.valet/Log/error.log

 
Hopefully with this guide you will be able to pinpoint any errors you have and can fix them through either Brew or Composer.

Filed in:

Eric L. Barnes

Eric is the creator of Laravel News and has been covering Laravel since 2012.