valet: Valet commands hang and don't continue with v3 upgrade
- Valet Version: 3.0.1
- PHP Version: 8.1.2
Description:
When I try to run valet install
, the commands hangs and stops at “Installing nginx directory…”. When I run valet secure
on a site, the command also hangs and stops.
This started to happen with the v3 upgrade. I have no idea what’s going on…
Steps To Reproduce:
Run either valet secure
or valet install
.
Diagnosis
sw_vers
ProductName: macOS ProductVersion: 12.3 BuildVersion: 21E230
valet --version
Laravel Valet 3.0.1
cat ~/.config/valet/config.json
{ "tld": "test", "loopback": "127.0.0.1", "paths": [ "/Users/driesvints/.config/valet/Sites" ] }
cat ~/.composer/composer.json
{ "require": { "laravel/installer": "^4.2", "laravel/valet": "^3.0", "beyondcode/expose": "^2.0", "tightenco/takeout": "^1.8", "spatie/global-ray": "^1.0", "spatie/visit": "^1.0" } }
composer global diagnose
Changed current directory to /Users/driesvints/.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 oauth access: 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: You are not running the latest stable version, run `composer self-update` to update (2.2.6 => 2.3.0) Composer version: 2.2.6 PHP version: 8.1.2 PHP binary path: /opt/homebrew/Cellar/php/8.1.2/bin/php OpenSSL version: OpenSSL 1.1.1m 14 Dec 2021 cURL version: 7.81.0 libz 1.2.11 ssl (SecureTransport) OpenSSL/1.1.1m zip: extension present, unzip present, 7-Zip not available
composer global outdated
Changed current directory to /Users/driesvints/.composer Legend: ! patch or minor release available - update recommended ~ major release available - update possible guzzlehttp/psr7 1.8.5 ~ 2.2.1 PSR-7 message implementation that also provides common utility methods tightenco/collect v8.83.5 ~ v9.4.1 Collect - Illuminate Collections as a separate package. tightenco/takeout v1.8.13 ~ v2.0.4 Manage your dev dependencies with simple one-off Docker containers.
ls -al /etc/sudoers.d/
total 16 drwxr-xr-x 4 root wheel 128 Mar 15 17:58 . drwxr-xr-x 81 root wheel 2592 Mar 22 11:37 .. -rw-r--r-- 1 root wheel 83 Nov 23 17:34 brew -rw-r--r-- 1 root wheel 86 Nov 23 17:34 valet
brew config
HOMEBREW_VERSION: 3.4.4 ORIGIN: https://github.com/Homebrew/brew HEAD: 5f5af43244eaece1f09d695603e1a261676713a0 Last commit: 3 days ago Core tap ORIGIN: https://github.com/Homebrew/homebrew-core Core tap HEAD: 26e0e3bca236578de6dbcaa8c2a8e528f32c9ee9 Core tap last commit: 18 minutes ago Core tap branch: master HOMEBREW_PREFIX: /opt/homebrew HOMEBREW_CASK_OPTS: [] HOMEBREW_CORE_GIT_REMOTE: https://github.com/Homebrew/homebrew-core HOMEBREW_MAKE_JOBS: 10 Homebrew Ruby: 2.6.8 => /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby CPU: 10-core 64-bit arm_firestorm_icestorm Clang: 13.1.6 build 1316 Git: 2.35.1 => /opt/homebrew/bin/git Curl: 7.79.1 => /usr/bin/curl macOS: 12.3-arm64 CLT: 13.3.0.0.1.1645755326 Xcode: N/A Rosetta 2: false
brew services list
Name Status User File dnsmasq none root meilisearch none memcached none mysql started driesvints ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist nginx none php none php@7.4 none php@8.0 none redis started driesvints ~/Library/LaunchAgents/homebrew.mxcl.redis.plist stripe-mock none unbound none
brew list --formula --versions | grep -E "(php|nginx|dnsmasq|mariadb|mysql|mailhog|openssl)(@\d\..*)?\s"
dnsmasq 2.86 mysql 8.0.28 nginx 1.21.4 1.21.6 openssl@1.1 1.1.1m php 8.0.13 8.1.2 php@7.4 7.4.28 7.4.27 7.4.26_1 php@8.0 8.0.15 8.0.13 8.0.14
brew outdated
aom awscli ca-certificates composer curl flac frei0r glib gnutls gobject-introspection harfbuzz httpie icu4c imagemagick krb5 libarchive libbluray libgcrypt libnghttp2 libomp libtool libuv little-cms2 meilisearch memcached mysql nginx node openssl@1.1 php php@7.4 php@8.0 python@3.9 sqlite stripe/stripe-cli/stripe stripe/stripe-mock/stripe-mock tesseract yarn elgato-stream-deck phpmon
brew tap
homebrew/bundle homebrew/cask homebrew/cask-drivers homebrew/cask-fonts homebrew/cask-versions homebrew/core homebrew/services nicoverbruggen/cask stripe/stripe-cli stripe/stripe-mock
php -v
PHP 8.1.2 (cli) (built: Jan 21 2022 04:34:05) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.2, Copyright (c) Zend Technologies with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies
which -a php
/opt/homebrew/bin/php /opt/homebrew/bin/php
php --ini
Configuration File (php.ini) Path: /opt/homebrew/etc/php/8.1 Loaded Configuration File: /opt/homebrew/etc/php/8.1/php.ini Scan for additional .ini files in: /opt/homebrew/etc/php/8.1/conf.d Additional .ini files parsed: /opt/homebrew/etc/php/8.1/conf.d/error_log.ini, /opt/homebrew/etc/php/8.1/conf.d/ext-opcache.ini, /opt/homebrew/etc/php/8.1/conf.d/php-memory-limits.ini
nginx -v
nginx version: nginx/1.21.6
curl --version
curl 7.79.1 (x86_64-apple-darwin21.0) libcurl/7.79.1 (SecureTransport) LibreSSL/3.3.5 zlib/1.2.11 nghttp2/1.45.1 Release-Date: 2021-09-22 Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp Features: alt-svc AsynchDNS GSS-API HSTS HTTP2 HTTPS-proxy IPv6 Kerberos Largefile libz MultiSSL NTLM NTLM_WB SPNEGO SSL UnixSockets
php --ri curl
curlcURL support => enabled cURL Information => 7.81.0 Age => 9 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-darwin21.1.0 SSL Version => (SecureTransport) OpenSSL/1.1.1m ZLib Version => 1.2.11 libSSH Version => libssh2/1.10.0
Directive => Local Value => Master Value curl.cainfo => no value => no value
~/.composer/vendor/laravel/valet/bin/ngrok version
ngrok version 2.3.40
~/.composer/vendor/laravel/valet/bin/ngrok-arm version
ngrok version 2.3.40
ls -al ~/.ngrok2
ls: /Users/driesvints/.ngrok2: No such file or directory
brew info nginx
nginx: stable 1.21.6 (bottled), HEAD HTTP(S) server and reverse proxy, and IMAP/POP3 proxy server https://nginx.org/ /opt/homebrew/Cellar/nginx/1.21.4 (23 files, 2.2MB) Built from source /opt/homebrew/Cellar/nginx/1.21.6 (26 files, 2.2MB) * Poured from bottle on 2022-02-18 at 11:43:28 From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/nginx.rb License: BSD-2-Clause ==> Dependencies Required: openssl@1.1, pcre2 ==> Options --HEAD Install HEAD version ==> Caveats Docroot is: /opt/homebrew/var/wwwThe 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 restart nginx after an upgrade: brew services restart nginx Or, if you don’t want/need a background service you can just run: /opt/homebrew/opt/nginx/bin/nginx -g daemon off; ==> Analytics install: 45,714 (30 days), 125,815 (90 days), 491,350 (365 days) install-on-request: 45,626 (30 days), 125,593 (90 days), 490,322 (365 days) build-error: 15 (30 days)
brew info php
php: stable 8.1.4 (bottled), HEAD General-purpose scripting language https://www.php.net/ /opt/homebrew/Cellar/php/8.0.13 (497 files, 77.7MB) Built from source /opt/homebrew/Cellar/php/8.1.2 (513 files, 81.6MB) * Poured from bottle on 2022-02-18 at 11:54:21 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, gmp, icu4c, krb5, 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.1/
To restart php after an upgrade: brew services restart php Or, if you don’t want/need a background service you can just run: /opt/homebrew/opt/php/sbin/php-fpm --nodaemonize ==> Analytics install: 146,458 (30 days), 369,348 (90 days), 959,038 (365 days) install-on-request: 123,342 (30 days), 305,131 (90 days), 841,057 (365 days) build-error: 61 (30 days)
brew info openssl
openssl@3: stable 3.0.2 (bottled) [keg-only] Cryptography and SSL/TLS Toolkit https://openssl.org/ Not installed From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/openssl@3.rb License: Apache-2.0 ==> Dependencies Required: ca-certificates ==> 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@3/certsand run /opt/homebrew/opt/openssl@3/bin/c_rehash
openssl@3 is keg-only, which means it was not symlinked into /opt/homebrew, because macOS provides LibreSSL.
==> Analytics install: 148,117 (30 days), 352,995 (90 days), 652,950 (365 days) install-on-request: 116,595 (30 days), 273,335 (90 days), 511,473 (365 days) build-error: 5,483 (30 days)
openssl version -a
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"
openssl ciphers
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
sudo nginx -t
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
which -a php-fpm
/opt/homebrew/sbin/php-fpm /opt/homebrew/sbin/php-fpm
/opt/homebrew/opt/php/sbin/php-fpm -v
PHP 8.1.2 (fpm-fcgi) (built: Jan 21 2022 04:34:06) Copyright (c) The PHP Group Zend Engine v4.1.2, Copyright (c) Zend Technologies with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies
sudo /opt/homebrew/opt/php/sbin/php-fpm -y /opt/homebrew/etc/php/8.1/php-fpm.conf --test
[30-Mar-2022 12:28:10] NOTICE: configuration file /opt/homebrew/etc/php/8.1/php-fpm.conf test is successful
ls -al ~/Library/LaunchAgents | grep homebrew
-rw-r--r-- 1 driesvints staff 537 Nov 23 11:36 homebrew.mxcl.mysql.plist -rw-r--r-- 1 driesvints staff 685 Dec 3 17:32 homebrew.mxcl.redis.plist
ls -al /Library/LaunchAgents | grep homebrew
ls -al /Library/LaunchDaemons | grep homebrew
-rw-r--r-- 1 root admin 602 Mar 30 12:20 homebrew.mxcl.dnsmasq.plist
ls -al /Library/LaunchDaemons | grep "com.laravel.valet."
ls -aln /etc/resolv.conf
lrwxr-xr-x 1 0 0 22 Feb 26 08:05 /etc/resolv.conf -> ../var/run/resolv.conf
cat /etc/resolv.conf
# # 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. # nameserver 192.168.1.1
ifconfig lo0
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>
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"'
------ /opt/homebrew/etc/nginx/valet/valet.conf ---3: #listen VALET_LOOPBACK:80; # valet loopback
------
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'
------ ~/.config/valet/dnsmasq.d/tld-test.conf ---address=/.test/127.0.0.1 listen-address=127.0.0.1
------
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'
------ ~/.config/valet/nginx/* ---cat: /Users/driesvints/.config/valet/nginx/*: No such file or directory
------
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Reactions: 1
- Comments: 28 (15 by maintainers)
Can anyone try this and confirm if this solves anything?
For me, it does get rid of the prompt. Then again enables the prompt. Snippet taken from https://github.com/laravel/valet/discussions/1135
I’m having the exact same issue. I get the
security
password prompt a few times, and then it hangs on the “Installing nginx directory…” step. Here is the call stack:If I stop the process and run it again, it hangs at the same place. The same thing happens if I reboot and run the command.