phpmon
phpmon copied to clipboard
Allow PHP Monitor to work without Valet
This has come up before, but for version 6.0 it might be worth considering this again.
Currently, PHP Monitor can distinguish between two different feature sets:
- Valet 2.x: This disables site isolation and enables support for PHP 5.6
- Valet 3.x: This enabled site isolation and removes support for PHP 5.6
The changes required to make this happen are minor, removing Valet altogether is a bigger change.
Impact
Unavailable Features
Removing the Valet requirement will disable the following integrations:
- Services manager limited to only displaying PHP status
- Laravel Valet configuration finder is disabled
- Domains list and all related functionality (domain management) is disabled
- First Aid & Services functionality is limited, no more options to 'Fix My Valet' or restart Valet-specific services
- Various Laravel Valet-related checks and warnings (missing socket files)
Unaffected Features
The following functionality would be mostly unaffected:
- Global version switcher (only affects the linked PHP version and does not restart Valet-specific services)
- Locating PHP configuration files
- Composer integration (including automatic
composer global updatewhen switching) - PHP limits (memory, uploads, etc)
- Detection & toggling of PHP extensions for the currently active PHP installation
- Xdebug integration & mode toggling
- Reading presets from the configuration file & applying them
- Generation of helper files that can be sourced to enable a specific PHP version in a given terminal
This would be awesome, I recently stopped using Valet and phpmon because I didn't like the global composer update that was happening every single time I switched php versions (I understand why it needs to happen, just didn't like it)
Now that I only use php itself, nginx and dnsmasq, it would be so much nicer to just click a few things and have the php switch done for me.
Hope this makes it to the v6 release.
@unansweredocd You technically can disable the global Composer update! There are a few requirements:
- your global dependencies are compatible with all versions of PHP you wish to switch between (this can be troublesome)
- you ran
composer global updatewhile on the lowest possible PHP version (or you locked your global config to a specific version for compatibility)
I do this myself because I don't have many global packages installed (mostly Valet and linting tools). It's for that very reason I included a "Automatically update global dependencies" toggle in PHP Monitor, actually.
Concerning a PHP Monitor without Valet: this is certainly making it into v6. It'll be a while, but it'll be part of the next major update! Hope it comes in handy 😄 It's one of the new changes I'm quite excited about!
If the update happens, does it mean that the "unavailable features" will be removed, or just disabled by default? I totally understand the use case of supporting non-valet set-ups, but I can't help but hope that it doesn't come at the cost of the valet features PHP Monitor offers out of the box 🤞🏾
If the update happens, does it mean that the "unavailable features" will be removed, or just disabled by default?
Some features will not show up if Valet isn't installed.
It'll be like how the Xdebug feature works today: if you don't have it installed, some features are simply hidden from you. 😄
I don't plan on removing any features!
Ah, awesome! Got me worried for a second there 😆