News

Troubleshooting Laravel Valet on macOS Sierra

Published
Troubleshooting Laravel Valet on macOS Sierra image

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.
Eric L. Barnes photo

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

Sponsored

laravelcloud logo
Laravel Cloud

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

Visit Laravel Cloud

The latest

View all →
CPX: The Composer Package Executor for PHP image

CPX: The Composer Package Executor for PHP

Read article
Laravel AI SDK Adds Human-in-the-Loop Tool Approval image

Laravel AI SDK Adds Human-in-the-Loop Tool Approval

Read article
Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals image

Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals

Read article
Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs image

Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs

Read article
Blade Formatting in Laravel Pint image

Blade Formatting in Laravel Pint

Read article
Inertia DevTools Is Now on the Chrome Web Store image

Inertia DevTools Is Now on the Chrome Web Store

Read article