Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem installing PHP 7.4 #1407

Closed
joeshelton-wagento opened this issue May 1, 2023 · 9 comments · Fixed by #1411
Closed

Problem installing PHP 7.4 #1407

joeshelton-wagento opened this issue May 1, 2023 · 9 comments · Fixed by #1411

Comments

@joeshelton-wagento
Copy link

Description

Just got a new M2 MacBook Pro. Totally fresh install of Valet, but I can't seem to install PHP 7.4. I've searched for similar issues and tried a few things. This issues seems unique from other issues considering the line number: 145. Trying valet use [email protected] --force -vvv

Screenshot 2023-05-01 at 4 30 10 PM

Steps To Reproduce

valet use [email protected] --force -vvv

Diagnosis

sw_vers
ProductName:		macOS
ProductVersion:		13.3.1
BuildVersion:		22E261
valet --version
Laravel Valet 4.0.2
cat ~/.config/valet/config.json
{
    "tld": "test",
    "loopback": "127.0.0.1",
    "paths": [
        "/Users/joeshelton/.config/valet/Sites",
        "/Volumes/ProjectFiles"
    ]
}
cat ~/.composer/composer.json
{
    "require": {
        "laravel/valet": "^4.0"
    }
}
composer global diagnose
Changed current directory to /Users/joeshelton/.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 git version 2.39.2
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: FAIL
Missing pubkey for tags verification
Missing pubkey for dev verification
Run composer self-update --update-keys to set them up
Checking composer version: OK
Composer version: 2.5.5
PHP version: 8.2.5
PHP binary path: /opt/homebrew/Cellar/php/8.2.5/bin/php
OpenSSL version: OpenSSL 1.1.1t  7 Feb 2023
cURL version: 8.0.1 libz 1.2.11 ssl (SecureTransport) OpenSSL/1.1.1t
zip: extension present, unzip present, 7-Zip not available
composer global outdated
Changed current directory to /Users/joeshelton/.composer
Info from https://repo.packagist.org: #StandWithUkraine

Direct dependencies required in composer.json:
Everything up to date

Transitive dependencies not required in composer.json:
Everything up to date

ls -al /etc/sudoers.d/
total 16
drwxr-xr-x   4 root  wheel   128 May  1 15:45 .
drwxr-xr-x  80 root  wheel  2560 May  1 09:23 ..
-rw-r--r--   1 root  wheel    83 May  1 15:45 brew
-rw-r--r--   1 root  wheel    86 May  1 15:45 valet
brew config
HOMEBREW_VERSION: 4.0.16
ORIGIN: https://github.com/Homebrew/brew
HEAD: 01e0c20d01c6aab28d844280d130f0e745e2ddd9
Last commit: 27 hours ago
Core tap origin: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 6f38bb20d6c2b278955929e7249ece1805369670
Core tap last commit: 2 hours ago
Core tap branch: master
Core tap JSON: 01 May 21:40 UTC
HOMEBREW_PREFIX: /opt/homebrew
HOMEBREW_CASK_OPTS: []
HOMEBREW_MAKE_JOBS: 8
Homebrew Ruby: 2.6.10 => /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby
CPU: octa-core 64-bit arm_blizzard_avalanche
Clang: 14.0.3 build 1403
Git: 2.39.2 => /Library/Developer/CommandLineTools/usr/bin/git
Curl: 7.87.0 => /usr/bin/curl
macOS: 13.3.1-arm64
CLT: 14.3.0.0.1.1679647830
Xcode: N/A
Rosetta 2: false
brew services list
Name         Status User       File
dnsmasq      error  512      root       ~/Library/LaunchAgents/homebrew.mxcl.dnsmasq.plist
mailhog      started         joeshelton ~/Library/LaunchAgents/homebrew.mxcl.mailhog.plist
[email protected] started         root       ~/Library/LaunchAgents/[email protected]
nginx        error  256      root       ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
opensearch   started         joeshelton ~/Library/LaunchAgents/homebrew.mxcl.opensearch.plist
php          error  19968    root       ~/Library/LaunchAgents/homebrew.mxcl.php.plist
rabbitmq     started         joeshelton ~/Library/LaunchAgents/homebrew.mxcl.rabbitmq.plist
redis        started         joeshelton ~/Library/LaunchAgents/homebrew.mxcl.redis.plist
brew list --formula --versions | grep -E "(php|nginx|dnsmasq|mariadb|mysql|mailhog|openssl)(@\d\..*)?\s"
dnsmasq 2.89
mailhog 1.0.1
nginx 1.23.4
[email protected] 1.1.1t
php 8.2.5
brew outdated

brew tap
homebrew/core
homebrew/services
shivammathur/php
php -v
PHP 8.2.5 (cli) (built: Apr 13 2023 17:59:46) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.5, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.5, Copyright (c), by Zend Technologies
which -a php
/opt/homebrew/bin/php
php --ini
Configuration File (php.ini) Path: /opt/homebrew/etc/php/8.2
Loaded Configuration File:         /opt/homebrew/etc/php/8.2/php.ini
Scan for additional .ini files in: /opt/homebrew/etc/php/8.2/conf.d
Additional .ini files parsed:      /opt/homebrew/etc/php/8.2/conf.d/error_log.ini,
/opt/homebrew/etc/php/8.2/conf.d/ext-opcache.ini,
/opt/homebrew/etc/php/8.2/conf.d/php-memory-limits.ini
nginx -v
nginx version: nginx/1.23.4
curl --version
curl 7.87.0 (x86_64-apple-darwin22.0) libcurl/7.87.0 (SecureTransport) LibreSSL/3.3.6 zlib/1.2.11 nghttp2/1.51.0
Release-Date: 2022-12-21
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 threadsafe UnixSockets
php --ri curl
curl

cURL support => enabled
cURL Information => 8.0.1
Age => 10
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
ALTSVC => Yes
HTTP3 => No
UNICODE => No
ZSTD => Yes
HSTS => Yes
GSASL => No
Protocols => dict, file, ftp, ftps, gopher, gophers, http, https, imap, imaps, ldap, ldaps, mqtt, pop3, pop3s, rtmp, rtmpe, rtmps, rtmpt, rtmpte, rtmpts, rtsp, scp, sftp, smb, smbs, smtp, smtps, telnet, tftp
Host => aarch64-apple-darwin22.3.0
SSL Version => (SecureTransport) OpenSSL/1.1.1t
ZLib Version => 1.2.11
libSSH Version => libssh2/1.10.0

Directive => Local Value => Master Value
curl.cainfo => no value => no value

/opt/homebrew/bin/ngrok version
sudo: /opt/homebrew/bin/ngrok: command not found
ls -al ~/.ngrok2
ls: /Users/joeshelton/.ngrok2: No such file or directory
brew info nginx
==> nginx: stable 1.23.4 (bottled), HEAD
HTTP(S) server and reverse proxy, and IMAP/POP3 proxy server
https://nginx.org/
/opt/homebrew/Cellar/nginx/1.23.4 (26 files, 2.2MB) *
  Poured from bottle using the formulae.brew.sh API on 2023-04-30 at 17:55:00
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/nginx.rb
License: BSD-2-Clause
==> Dependencies
Required: [email protected], pcre2
==> 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 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: 1,260 (30 days), 31,156 (90 days), 380,181 (365 days)
install-on-request: 1,261 (30 days), 31,113 (90 days), 379,565 (365 days)
build-error: 1 (30 days)

brew info php
==> php: stable 8.2.5 (bottled), HEAD
General-purpose scripting language
https://www.php.net/
/opt/homebrew/Cellar/php/8.2.5 (521 files, 83.4MB) *
  Poured from bottle using the formulae.brew.sh API on 2023-04-30 at 17:37:18
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, [email protected], 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.2/

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: 1,658 (30 days), 123,315 (90 days), 1,238,369 (365 days)
install-on-request: 1,500 (30 days), 109,106 (90 days), 1,081,198 (365 days)
build-error: 0 (30 days)

brew info openssl
==> openssl@3: stable 3.1.0 (bottled) [keg-only]
Cryptography and SSL/TLS Toolkit
https://openssl.org/
/opt/homebrew/Cellar/openssl@3/3.1.0 (6,494 files, 28.4MB)
  Poured from bottle using the formulae.brew.sh API on 2023-03-27 at 10:28:15
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/[email protected]
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/certs

and 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.

If you need to have openssl@3 first in your PATH, run:
echo 'export PATH="/opt/homebrew/opt/openssl@3/bin:$PATH"' >> ~/.zshrc

For compilers to find openssl@3 you may need to set:
export LDFLAGS="-L/opt/homebrew/opt/openssl@3/lib"
export CPPFLAGS="-I/opt/homebrew/opt/openssl@3/include"
==> Analytics
install: 5,225 (30 days), 443,397 (90 days), 2,146,898 (365 days)
install-on-request: 2,366 (30 days), 102,788 (90 days), 1,106,908 (365 days)
build-error: 614 (30 days)

openssl version -a
LibreSSL 3.3.6
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
AEAD-CHACHA20-POLY1305-SHA256:AEAD-AES256-GCM-SHA384:AEAD-AES128-GCM-SHA256: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/opt/php/sbin/php-fpm -v
PHP 8.2.5 (fpm-fcgi) (built: Apr 13 2023 17:59:48)
Copyright (c) The PHP Group
Zend Engine v4.2.5, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.5, Copyright (c), by Zend Technologies
sudo /opt/homebrew/opt/php/sbin/php-fpm -y /opt/homebrew/etc/php/8.2/php-fpm.conf --test
[01-May-2023 16:40:10] NOTICE: configuration file /opt/homebrew/etc/php/8.2/php-fpm.conf test is successful
ls -al ~/Library/LaunchAgents | grep homebrew
-rw-r--r--   1 joeshelton  staff   797 May  1 12:15 homebrew.mxcl.dnsmasq.plist
-rw-r--r--   1 joeshelton  staff   974 May  1 11:58 homebrew.mxcl.mailhog.plist
-rw-r--r--   1 joeshelton  staff   740 May  1 09:17 [email protected]
-rw-r--r--   1 joeshelton  staff   685 May  1 11:58 homebrew.mxcl.nginx.plist
-rw-r--r--   1 joeshelton  staff   819 May  1 12:16 homebrew.mxcl.opensearch.plist
-rw-r--r--   1 joeshelton  staff   781 May  1 11:58 homebrew.mxcl.php.plist
-rw-r--r--   1 joeshelton  staff  1009 May  1 11:58 homebrew.mxcl.rabbitmq.plist
-rw-r--r--   1 joeshelton  staff   880 May  1 11:58 homebrew.mxcl.redis.plist
ls -al /Library/LaunchAgents | grep homebrew

ls -al /Library/LaunchDaemons | grep homebrew
-rw-r--r--   1 root  admin   797 May  1 12:14 homebrew.mxcl.dnsmasq.plist
-rw-r--r--   1 root  admin   740 May  1 09:18 [email protected]
-rw-r--r--   1 root  admin   685 May  1 15:20 homebrew.mxcl.nginx.plist
-rw-r--r--   1 root  admin   781 May  1 12:14 homebrew.mxcl.php.plist
ls -al /Library/LaunchDaemons | grep "com.laravel.valet."

ls -aln /etc/resolv.conf
lrwxr-xr-x  1 0  0  22 Apr  1 11:46 /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.
#
search hsd1.mn.comcast.net
nameserver 2001:558:feed::1
nameserver 2001:558:feed::2
nameserver 75.75.75.75
nameserver 75.75.76.76
ifconfig lo0
lo0: flags=8049 mtu 16384
	options=1203
	inet 127.0.0.1 netmask 0xff000000 
	inet6 ::1 prefixlen 128 
	inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 
	nd6 options=201
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/joe-shelton-sandbox.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



~/.config/valet/nginx/juguetron.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



~/.config/valet/nginx/sample.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

------

@drbyte
Copy link
Contributor

drbyte commented May 1, 2023

It's officially unmaintained/unsupported by homebrew.

Does installing it manually bypass the homebrew limitation?

brew tap shivammathur/php
brew install shivammathur/php/[email protected]

Then run valet use [email protected]

@joeshelton-wagento
Copy link
Author

joeshelton-wagento commented May 2, 2023

That worked! It was necessary to run brew install shivammathur/php/[email protected]

Previously, the valet use 7.4 command tapped shivammathur/php automatically. But, then it did not use the tap for a PHP install. (At least in my case.)

@driesvints
Copy link
Member

Glad you got that working 👍

@joeshelton-wagento
Copy link
Author

I got it working manually, but the expected automation is not working. Again, this is a fresh installation of Valet on a fresh Mac. Is it worth pursuing a code change to get the automation fully working? Both tapping shivammathur AND installing from it? (Just asking. I'm not a pro at understanding this stuff.)

drbyte added a commit to drbyte/valet that referenced this issue May 3, 2023
Fixes laravel#1407

Homebrew's support policy now aggressively disables older versions earlier than it did previously.
That is why we tap the `shivammathur/php` repository.

But since Homebrew also now "keeps" those old formulae but marks them as disabled, when Valet runs `brew install [email protected]` it fails because Homebrew just aborts due to its flags in the outdated formula.
(They mark it as "disabled" and/or "keg_only :versioned_formula".)
To override that we must use `brew install shivammathur/php/[email protected]` internally.

Therefore, we need to maintain a list of which PHP Versions we wish to specifically prefix with the `shivammathur/php` tap in order to bypass Homebrew's flags.

**ANNUAL MAINTENANCE**
1. This PR adds the array of `LIMITED_PHP_VERSIONS` which we will have to update annually when new PHP versions are retired as others are released.
2. We should also annually update the `LATEST_PHP_VERSION` string.
@drbyte
Copy link
Contributor

drbyte commented May 3, 2023

@joeshelton-wagento do you wanna test this PR #1411 ?

You could test it with 7.3 or 8.0 instead of wiping your 7.4 and reinstalling it.

@joeshelton-wagento
Copy link
Author

I appreciate the effort! Unfortunately, my results are inconclusive. I attempted to be a good QA person and verify the error before proceeding with the fix. PHP 7.4 and 8.0 installed without error before applying the fix.

Screenshot 2023-05-03 at 3 22 58 PM

Screenshot 2023-05-03 at 3 24 42 PM

So, now I'm confused. Happy to further investigate things if that helps you.

@drbyte
Copy link
Contributor

drbyte commented May 3, 2023

Apologies. Turns out after some investigation today, only 7.4 is triggering the problematic situation (because of homebrew's formulae contents on today's date), so testing this does actually require uninstalling 7.4

So:
valet use [email protected]
brew remove [email protected]
rm -rf /opt/homebrew/etc/php/7.4/
valet use [email protected]

It should give you the message that 7.4 is not installed and is being installed from shivammathur/php/[email protected]

@joeshelton-wagento
Copy link
Author

Worked great! Thanks, you all do amazing work on this tool!

Screenshot 2023-05-03 at 4 42 38 PM

@drbyte
Copy link
Contributor

drbyte commented May 3, 2023

Thanks for testing and posting the details!

drbyte added a commit to drbyte/valet that referenced this issue May 5, 2023
Fixes laravel#1407

Homebrew's support policy now aggressively disables older versions earlier than it did previously.
That is why we tap the `shivammathur/php` repository.

But since Homebrew also now "keeps" those old formulae but marks them as disabled, when Valet runs `brew install [email protected]` it fails because Homebrew just aborts due to its flags in the outdated formula.
(They mark it as "disabled" and/or "keg_only :versioned_formula", but don't actually delete the formula from their repository.)
To override that we must use `brew install shivammathur/php/[email protected]` internally.

Therefore, we need to maintain a list of which PHP Versions we wish to specifically prefix with the `shivammathur/php` tap in order to bypass Homebrew's flags.

**ANNUAL MAINTENANCE**
1. This PR adds the array of `LIMITED_PHP_VERSIONS` which we will have to update annually when new PHP versions are retired as others are released.
2. We should also annually update the `LATEST_PHP_VERSION` string.
drbyte added a commit to drbyte/valet that referenced this issue May 6, 2023
Fixes laravel#1407

Homebrew's support policy now aggressively disables older versions earlier than it did previously.
That is why we tap the `shivammathur/php` repository.

But since Homebrew also now "keeps" those old formulae but marks them as disabled, when Valet runs `brew install [email protected]` it fails because Homebrew just aborts due to its flags in the outdated formula.
(They mark it as "disabled" and/or "keg_only :versioned_formula", but don't actually delete the formula from their repository.)
To override that we must use `brew install shivammathur/php/[email protected]` internally.

Therefore, we need to maintain a list of which PHP Versions we wish to specifically prefix with the `shivammathur/php` tap in order to bypass Homebrew's flags.

**ANNUAL MAINTENANCE**
1. This PR adds the array of `LIMITED_PHP_VERSIONS` which we will have to update annually when new PHP versions are retired as others are released.
2. We should also annually update the `LATEST_PHP_VERSION` string.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants