Change how the php-memory-limits.ini is managed because when changed between PHP versions all the configuration added previously is overrided and it a waste of time if you work with several PHP versions during the day
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.
Fixes#1419
Adds:
- `valet stop dnsmasq`
- `valet stop all` (which includes php, nginx, dnsmasq)
- When `valet stop` is called without a service name, a message indicates that dnsmasq can also be stopped via `valet stop dnsmasq`
- Aside: phpfpm now also displays a message when stopping; previously it was silent.
- Add --site to isolate
- Add --site to unisolate
- Refactor some tests
- Update Site@getSiteUrl to throw an exception instead of returning false
- Fix a few minor typos/grammatical issues