I've been using valet on a mac with a M1 chip for a few weeks now without any issue. A few days ago i started getting 500 errors on my static files (images, css, js) in /public.
I tried reinstalling composer, valet and laravel multiple times but without any result. I also did not change any config files provided by valet.
I'm assuming this is a permission issue in some Nginx configuration?
Output of my valet diagnose:
<details>
<summary>sw_vers</summary>
<pre>ProductName: macOS
ProductVersion: 11.2
BuildVersion: 20D64</pre>
</details>
<details>
<summary>valet --version</summary>
<pre>Laravel Valet 2.14.1</pre>
</details>
<details>
<summary>cat ~/.config/valet/config.json</summary>
<pre>{
"tld": "test",
"loopback": "127.0.0.1",
"paths": [
"/Users/michiel/.config/valet/Sites"
]
}</pre>
</details>
<details>
<summary>cat ~/.composer/composer.json</summary>
<pre>{
"require": {
"laravel/valet": "^2.14"
}
}</pre>
</details>
<details>
<summary>composer global diagnose</summary>
<pre>Changed current directory to /Users/michiel/.composer
Checking composer.json: WARNING
No license specified, it is recommended to do so. For closed-source software you may use "proprietary" as license.
Checking platform settings: OK
Checking git settings: OK
Checking http connectivity to packagist: OK
Checking https connectivity to packagist: OK
Checking github.com rate limit: OK
Checking disk free space: OK
Checking pubkeys:
Tags Public Key Fingerprint: 57815BA2 7E54DC31 7ECC7CC5 573090D0 87719BA6 8F3BB723 4E5D42D0 84A14642
Dev Public Key Fingerprint: 4AC45767 E5EC2265 2F0C1167 CBBB8A2B 0C708369 153E328C AD90147D AFE50952
OK
Checking composer version: OK
Composer version: 2.0.12
PHP version: 8.0.3
PHP binary path: /opt/homebrew/Cellar/php/8.0.3/bin/php
OpenSSL version: OpenSSL 1.1.1k 25 Mar 2021
cURL version: 7.76.1 libz 1.2.11 ssl (SecureTransport) OpenSSL/1.1.1k
zip: extension present, unzip present</pre>
</details>
<details>
<summary>composer global outdated</summary>
<pre>Changed current directory to /Users/michiel/.composer
psr/container 1.1.1 ~ 2.0.1 Common Container Interface (PHP FIG PSR-11)</pre>
</details>
<details>
<summary>ls -al /etc/sudoers.d/</summary>
<pre>total 16
drwxr-xr-x 4 root wheel 128 Apr 13 23:56 .
drwxr-xr-x 88 root wheel 2816 Apr 14 02:40 ..
-rw-r--r-- 1 root wheel 83 Apr 13 23:56 brew
-rw-r--r-- 1 root wheel 86 Apr 13 23:56 valet</pre>
</details>
<details>
<summary>brew config</summary>
<pre>HOMEBREW_VERSION: 3.1.1
ORIGIN: https://github.com/Homebrew/brew
HEAD: dc3e8b485a166a73d6463320d9deaba6236f747c
Last commit: 2 days ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 5a867203bca24613cc43b50beede5ddeda841b4f
Core tap last commit: 2 hours ago
Core tap branch: master
HOMEBREW_PREFIX: /opt/homebrew
HOMEBREW_CASK_OPTS: []
HOMEBREW_MAKE_JOBS: 8
Homebrew Ruby: 2.6.3 => /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby
CPU: octa-core 64-bit arm_firestorm_icestorm
Clang: 12.0 build 1200
Git: 2.24.3 => /Library/Developer/CommandLineTools/usr/bin/git
Curl: 7.64.1 => /usr/bin/curl
macOS: 11.2-arm64
CLT: 12.4.0.0.1.1610135815
Xcode: N/A
Rosetta 2: false</pre>
</details>
<details>
<summary>brew services list</summary>
<pre>Name Status User Plist
dnsmasq unknown root /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist
mailhog unknown root /Library/LaunchDaemons/homebrew.mxcl.mailhog.plist
nginx unknown root /Library/LaunchDaemons/homebrew.mxcl.nginx.plist
php unknown root /Library/LaunchDaemons/homebrew.mxcl.php.plist
redis unknown root /Library/LaunchDaemons/homebrew.mxcl.redis.plist</pre>
</details>
<details>
<summary>brew list --formula --versions | grep -E "(php|nginx|dnsmasq|mariadb|mysql|mailhog|openssl)(@\d\..*)?\s"</summary>
<pre>dnsmasq 2.85
mailhog 1.0.1
nginx 1.19.9
openssl@1.1 1.1.1k
php 8.0.3</pre>
</details>
<details>
<summary>brew outdated</summary>
<pre></pre>
</details>
<details>
<summary>brew tap</summary>
<pre>homebrew/cask
homebrew/core
homebrew/services
shivammathur/php</pre>
</details>
<details>
<summary>php -v</summary>
<pre>PHP 8.0.3 (cli) (built: Apr 12 2021 00:29:32) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.3, Copyright (c) Zend Technologies
with Zend OPcache v8.0.3, Copyright (c), by Zend Technologies</pre>
</details>
<details>
<summary>which -a php</summary>
<pre>/opt/homebrew/bin/php
/opt/homebrew/bin/php
/usr/bin/php</pre>
</details>
<details>
<summary>php --ini</summary>
<pre>Configuration File (php.ini) Path: /opt/homebrew/etc/php/8.0
Loaded Configuration File: /opt/homebrew/etc/php/8.0/php.ini
Scan for additional .ini files in: /opt/homebrew/etc/php/8.0/conf.d
Additional .ini files parsed: /opt/homebrew/etc/php/8.0/conf.d/error_log.ini,
/opt/homebrew/etc/php/8.0/conf.d/ext-opcache.ini,
/opt/homebrew/etc/php/8.0/conf.d/php-memory-limits.ini</pre>
</details>
<details>
<summary>nginx -v</summary>
<pre>nginx version: nginx/1.19.9</pre>
</details>
<details>
<summary>curl --version</summary>
<pre>curl 7.64.1 (x86_64-apple-darwin20.0) libcurl/7.64.1 (SecureTransport) LibreSSL/2.8.3 zlib/1.2.11 nghttp2/1.41.0
Release-Date: 2019-03-27
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: AsynchDNS GSS-API HTTP2 HTTPS-proxy IPv6 Kerberos Largefile libz MultiSSL NTLM NTLM_WB SPNEGO SSL UnixSockets</pre>
</details>
<details>
<summary>php --ri curl</summary>
<pre>curl
cURL support => enabled
cURL Information => 7.76.1
Age => 8
Features
AsynchDNS => Yes
CharConv => No
Debug => No
GSS-Negotiate => No
IDN => Yes
IPv6 => Yes
krb4 => No
Largefile => Yes
libz => Yes
NTLM => Yes
NTLMWB => Yes
SPNEGO => Yes
SSL => Yes
SSPI => No
TLS-SRP => Yes
HTTP2 => Yes
GSSAPI => Yes
KERBEROS5 => Yes
UNIX_SOCKETS => Yes
PSL => No
HTTPS_PROXY => Yes
MULTI_SSL => Yes
BROTLI => Yes
Protocols => dict, file, ftp, ftps, gopher, gophers, http, https, imap, imaps, ldap, ldaps, mqtt, pop3, pop3s, rtmp, rtsp, scp, sftp, smb, smbs, smtp, smtps, telnet, tftp
Host => arm-apple-darwin20.3.0
SSL Version => (SecureTransport) OpenSSL/1.1.1k
ZLib Version => 1.2.11
libSSH Version => libssh2/1.9.0
Directive => Local Value => Master Value
curl.cainfo => no value => no value</pre>
</details>
<details>
<summary>~/.composer/vendor/laravel/valet/bin/ngrok version</summary>
<pre>ngrok version 2.3.35</pre>
</details>
<details>
<summary>ls -al ~/.ngrok2</summary>
<pre>ls: /Users/michiel/.ngrok2: No such file or directory</pre>
</details>
<details>
<summary>brew info nginx</summary>
<pre>nginx: stable 1.19.9 (bottled), HEAD
HTTP(S) server and reverse proxy, and IMAP/POP3 proxy server
https://nginx.org/
/opt/homebrew/Cellar/nginx/1.19.9 (25 files, 2.2MB) *
Poured from bottle on 2021-04-14 at 13:06:09
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/nginx.rb
License: BSD-2-Clause
==> Dependencies
Required: openssl@1.1, pcre
==> Options
--HEAD
Install HEAD version
==> Caveats
Docroot is: /opt/homebrew/var/www
The default port has been set in /opt/homebrew/etc/nginx/nginx.conf to 8080 so that
nginx can run without sudo.
nginx will load all files in /opt/homebrew/etc/nginx/servers/.
To have launchd start nginx now and restart at login:
brew services start nginx
Or, if you don't want/need a background service you can just run:
nginx
==> Analytics
install: 48,126 (30 days), 133,038 (90 days), 486,002 (365 days)
install-on-request: 48,006 (30 days), 132,736 (90 days), 479,277 (365 days)
build-error: 0 (30 days)</pre>
</details>
<details>
<summary>brew info php</summary>
<pre>php: stable 8.0.3 (bottled), HEAD
General-purpose scripting language
https://www.php.net/
/opt/homebrew/Cellar/php/8.0.3 (499 files, 77.9MB) *
Poured from bottle on 2021-04-14 at 02:07:13
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/php.rb
License: PHP-3.01
==> Dependencies
Build: httpd, pkg-config
Required: apr, apr-util, argon2, aspell, autoconf, curl, freetds, gd, gettext, glib, gmp, icu4c, krb5, libffi, libpq, libsodium, libzip, oniguruma, openldap, openssl@1.1, pcre2, sqlite, tidy-html5, unixodbc
==> Options
--HEAD
Install HEAD version
==> Caveats
To enable PHP in Apache add the following to httpd.conf and restart Apache:
LoadModule php_module /opt/homebrew/opt/php/lib/httpd/modules/libphp.so
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
Finally, check DirectoryIndex includes index.php
DirectoryIndex index.php index.html
The php.ini and php-fpm.ini file can be found in:
/opt/homebrew/etc/php/8.0/
To have launchd start php now and restart at login:
brew services start php
Or, if you don't want/need a background service you can just run:
php-fpm
==> Analytics
install: 38,549 (30 days), 144,866 (90 days), 633,781 (365 days)
install-on-request: 38,053 (30 days), 142,325 (90 days), 616,038 (365 days)
build-error: 0 (30 days)</pre>
</details>
<details>
<summary>brew info openssl</summary>
<pre>openssl@1.1: stable 1.1.1k (bottled) [keg-only]
Cryptography and SSL/TLS Toolkit
https://openssl.org/
/opt/homebrew/Cellar/openssl@1.1/1.1.1k (8,071 files, 18MB)
Poured from bottle on 2021-04-11 at 04:06:48
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/openssl@1.1.rb
License: OpenSSL
==> Caveats
A CA file has been bootstrapped using certificates from the system
keychain. To add additional certificates, place .pem files in
/opt/homebrew/etc/openssl@1.1/certs
and run
/opt/homebrew/opt/openssl@1.1/bin/c_rehash
openssl@1.1 is keg-only, which means it was not symlinked into /opt/homebrew,
because macOS provides LibreSSL.
If you need to have openssl@1.1 first in your PATH, run:
echo 'export PATH="/opt/homebrew/opt/openssl@1.1/bin:$PATH"' >> ~/.zshrc
For compilers to find openssl@1.1 you may need to set:
export LDFLAGS="-L/opt/homebrew/opt/openssl@1.1/lib"
export CPPFLAGS="-I/opt/homebrew/opt/openssl@1.1/include"
==> Analytics
install: 944,016 (30 days), 2,540,220 (90 days), 8,981,176 (365 days)
install-on-request: 80,753 (30 days), 304,405 (90 days), 1,236,756 (365 days)
build-error: 0 (30 days)</pre>
</details>
<details>
<summary>openssl version -a</summary>
<pre>LibreSSL 2.8.3
built on: date not available
platform: information not available
options: bn(64,64) rc4(ptr,int) des(idx,cisc,16,int) blowfish(idx)
compiler: information not available
OPENSSLDIR: "/private/etc/ssl"</pre>
</details>
<details>
<summary>openssl ciphers</summary>
<pre>ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:GOST2012256-GOST89-GOST89:DHE-RSA-CAMELLIA256-SHA256:DHE-RSA-CAMELLIA256-SHA:GOST2001-GOST89-GOST89:AES256-GCM-SHA384:AES256-SHA256:AES256-SHA:CAMELLIA256-SHA256:CAMELLIA256-SHA:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-CAMELLIA128-SHA256:DHE-RSA-CAMELLIA128-SHA:AES128-GCM-SHA256:AES128-SHA256:AES128-SHA:CAMELLIA128-SHA256:CAMELLIA128-SHA:ECDHE-RSA-RC4-SHA:ECDHE-ECDSA-RC4-SHA:RC4-SHA:RC4-MD5:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:DES-CBC3-SHA</pre>
</details>
<details>
<summary>sudo nginx -t</summary>
<pre>nginx: the configuration file /opt/homebrew/etc/nginx/nginx.conf syntax is ok
nginx: configuration file /opt/homebrew/etc/nginx/nginx.conf test is successful</pre>
</details>
<details>
<summary>which -a php-fpm</summary>
<pre>/opt/homebrew/sbin/php-fpm
/opt/homebrew/sbin/php-fpm
/usr/sbin/php-fpm</pre>
</details>
<details>
<summary>/opt/homebrew/opt/php/sbin/php-fpm -v</summary>
<pre>PHP 8.0.3 (fpm-fcgi) (built: Apr 12 2021 00:29:33)
Copyright (c) The PHP Group
Zend Engine v4.0.3, Copyright (c) Zend Technologies
with Zend OPcache v8.0.3, Copyright (c), by Zend Technologies</pre>
</details>
<details>
<summary>sudo /opt/homebrew/opt/php/sbin/php-fpm -y /opt/homebrew/etc/php/8.0/php-fpm.conf --test</summary>
<pre>[14-Apr-2021 13:13:33] NOTICE: configuration file /opt/homebrew/etc/php/8.0/php-fpm.conf test is successful</pre>
</details>
<details>
<summary>ls -al ~/Library/LaunchAgents | grep homebrew</summary>
<pre></pre>
</details>
<details>
<summary>ls -al /Library/LaunchAgents | grep homebrew</summary>
<pre></pre>
</details>
<details>
<summary>ls -al /Library/LaunchDaemons | grep homebrew</summary>
<pre>-rw-r--r-- 1 root admin 666 Apr 14 13:07 homebrew.mxcl.dnsmasq.plist
-rw-r--r-- 1 root admin 590 Apr 13 19:10 homebrew.mxcl.mailhog.plist
-rw-r--r-- 1 root admin 577 Apr 14 13:07 homebrew.mxcl.nginx.plist
-rw-r--r-- 1 root admin 553 Apr 14 13:07 homebrew.mxcl.php.plist
-rw-r--r-- 1 root admin 838 Apr 14 02:07 homebrew.mxcl.redis.plist</pre>
</details>
<details>
<summary>ls -al /Library/LaunchDaemons | grep "com.laravel.valet."</summary>
<pre></pre>
</details>
<details>
<summary>ls -aln /etc/resolv.conf</summary>
<pre>lrwxr-xr-x 1 0 0 22 Jan 25 12:56 /etc/resolv.conf -> ../var/run/resolv.conf</pre>
</details>
<details>
<summary>cat /etc/resolv.conf</summary>
<pre>#
# macOS Notice
#
# This file is not consulted for DNS hostname resolution, address
# resolution, or the DNS query routing mechanism used by most
# processes on this system.
#
# To view the DNS configuration used by this system, use:
# scutil --dns
#
# SEE ALSO
# dns-sd(1), scutil(8)
#
# This file is automatically generated.
#
search telenet.be
nameserver 2a02:1800:100::42:2
nameserver 2a02:1800:100::42:1
nameserver 195.130.130.2
nameserver 195.130.131.2</pre>
</details>
<details>
<summary>ifconfig lo0</summary>
<pre>lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
options=1203<RXCSUM,TXCSUM,TXSTATUS,SW_TIMESTAMP>
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
nd6 options=201<PERFORMNUD,DAD></pre>
</details>
<details>
<summary>sh -c 'echo "------\n/opt/homebrew/etc/nginx/valet/valet.conf\n---\n"; cat /opt/homebrew/etc/nginx/valet/valet.conf | grep -n "# valet loopback"; echo "\n------\n"'</summary>
<pre>------
/opt/homebrew/etc/nginx/valet/valet.conf
---
3: #listen VALET_LOOPBACK:80; # valet loopback
------</pre>
</details>
<details>
<summary>sh -c 'for file in ~/.config/valet/dnsmasq.d/*; do echo "------\n~/.config/valet/dnsmasq.d/$(basename $file)\n---\n"; cat $file; echo "\n------\n"; done'</summary>
<pre>------
~/.config/valet/dnsmasq.d/tld-test.conf
---
address=/.test/127.0.0.1
listen-address=127.0.0.1
------</pre>
</details>
<details>
<summary>sh -c 'for file in ~/.config/valet/nginx/*; do echo "------\n~/.config/valet/nginx/$(basename $file)\n---\n"; cat $file | grep -n "# valet loopback"; echo "\n------\n"; done'</summary>
<pre>------
~/.config/valet/nginx/velosofy.test
---
3: #listen 127.0.0.1:80; # valet loopback
10: #listen 127.0.0.1:443 ssl http2; # valet loopback
54: #listen 127.0.0.1:60; # valet loopback
------</pre>
</details>
I've been using valet on a mac with a M1 chip for a few weeks now without any issue. A few days ago i started getting 500 errors on my static files (images, css, js) in /public.
I tried reinstalling composer, valet and laravel multiple times but without any result. I also did not change any config files provided by valet.
I'm assuming this is a permission issue in some Nginx configuration?
Output of my valet diagnose: