While my PR #1514 fixed recreating the FPM configs, it introduced a different issue:
Due to the use of `utilizedPhpVersions()`, the code now also configured the FPM config for the alias `php` version.
This caused it to invoke the configure function with an empty version string and thus overwriting the FPM config for (in my case) the php@8.4 config templated with `valet.sock` instead of the correct `valet84.sock`.
The nginx sites that were configured to proxy their requests to the `valet84.sock` then failed because it did not exist anymore.
We fixed this by always including the actual linked PHP version via the `linkedPhp` function. This returns `php8.4` instead of `php`.
`php` is an alias anyway and this also removes another unnecessary service restart call. Previously, this would also try to restart the `php` service via brew which was already restarted through the restart of `php@8.4`, which is an alias in brew.
This also fixes an issue with the previous PR, to correctly symlink `valet.sock` again to the linked PHP version, which we oversaw.
This previously only reapplied the configuration for the linked version.
Because it is recommended to run valet install again after a brew upgrade, it is necessary to update all utilized PHP versions.
On brew upgrades, some versions received the default www.conf again. This would leave the user with a broken setup until they either call `valet use php@X.X` for all the versions or isolate a site again with the version.
This commit fixes the behavior by rerunning the configuration step on all php versions. This is more consistent, because in the next line all utilized PHP versions are also restarted.
These are the only instances, where the valet cli script is executed with the default
php binary instead of the evaluated binary.
We now use the `$PHP` executable to ensure that the valet cli is always called with the correct binary even when proxying composer / php.
Include PHP 8.4 in the list of supported PHP versions in both Valet Brew and GitHub Actions test matrix. This ensures compatibility and testing for the latest PHP release.