The way .ini files are loaded is changing with this commit. Instead of
directly saving which extensions were found, the extensions loaded are
now determined by reading the .ini file.
However, there are some performance concerns here. Perhaps it is worth
*not* reloading the contents of these files unless absolutely necessary.
- Renaming the configuration files from `www.conf` to the backup
(`disabled-by-phpmon`) will now succeed if the `disabled-by-phpmon`
file already exists. This would fail if the `disabled-by-phpmon` file
already existed in previous builds.
- The PHP-FPM alert when there's an issue with a missing socket
configuration file has been tweaked and now contains a workaround if
you want to run a newer version of PHP (e.g. PHP 8.2) that is not
officially supported by Valet yet.
- When attempting to list the PHP version numbers, the `parse()` method
is now used, as opposed to `PhpVersionNumber.make()`, which couldn't
correctly handle pre-release versions of PHP.
- Updated tests to reflect these changes to `PhpVersionNumber`.
- Up to 50 sites are now preloaded (up from 30)
- No longer crash when invalid config.json is found (only at launch)
- Added `evaluateFeatureSupport` to Valet.swift
- Load configuration during launch checks instead
This change introduces binary detection to the app. PHP Monitor does not
rely on the user's PATH because the output of a user's terminal can
cause issues, so we will scan the two common locations for the Composer
binary file. The text in the alert has been modified to accommodate the
change (you could still not have Composer installed).