phpmon icon indicating copy to clipboard operation
phpmon copied to clipboard

Allow PHP Monitor to work without Valet

Open nicoverbruggen opened this issue 3 years ago • 2 comments

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 update when 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

nicoverbruggen avatar Sep 08 '22 15:09 nicoverbruggen

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 avatar Sep 21 '22 12:09 unansweredocd

@unansweredocd You technically can disable the global Composer update! There are a few requirements:

  1. your global dependencies are compatible with all versions of PHP you wish to switch between (this can be troublesome)
  2. you ran composer global update while 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!

nicoverbruggen avatar Sep 21 '22 12:09 nicoverbruggen

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 🤞🏾

Kuttoh avatar Sep 26 '22 08:09 Kuttoh

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!

nicoverbruggen avatar Sep 26 '22 09:09 nicoverbruggen

Ah, awesome! Got me worried for a second there 😆

Kuttoh avatar Sep 26 '22 09:09 Kuttoh