Table of Contents
Iâm very excited about this update. Iâve never released an update this big for PHP Monitor before, so I had to make sure all of these new changes went through some rigorous testing. After a bunch of betas and a few release candidates, itâs finally here!
Thereâs a host of new features and improvements in this release: new folder linking, the services indicator in the menu, the updated sites list, real-time configuration change detection, automatic global Composer updates, Fix My Valet and third-party integrations.
A more detailed description can be found here or in the release notes.
I almost considered calling this version 6.0, but decided that would be a bit confusing. If youâd like to see a video of all the changes, check out this video where I walk through all of the changes.
You can upgrade as usual by running:
$ brew upgrade phpmon
It is possible that PHP Monitor will report that your version of Valet is outdated, in which case you may wish to update it.
The Reshuffled Menu
The first thing youâre likely to notice is the modified and improved menu. Things have been shuffled around a bit, hopefully for the better.
At the top is the most important information: the PHP versions you have installed, and, most notably, a new section which showcases the status of the services.
At the bottom youâll find the newly relocated First Aid & Services menu, which Iâll talk about later.
Updated Site List
In version 4.1, I shipped the first version of the domains list. This one shows you all linked and parked domains. The updated version contains a few improvements:
- The list of domains is a lot faster to load and searching feels much snappier. You will definitely notice big improvements if you happen to have many domains linked. Scrolling should also be buttery smooth.
- You can now see the PHP version required per project. (Only if
composer.json
is located in the root directory.) - A little checkmark indicator is displayed if the project is compatible with the currently linked PHP version. (This can only be checked if the required PHP version could be determined.)
- The list is now sensibly sorted based on the absolute path of the projects.
- You can now search for multiple words. (A single space is sufficient to separate search terms.)
Bonus: If you click on the version number, youâll get suggestions of a recommended PHP version to switch to, and youâll find out where the version requirement came from (require
or from platform
in the composer.json
file).
Linking New Sites
From the list of domains, you can now also link a new site. This is a feature that Iâd hoped to release with v4.1, but I was not sure if I could do it properly.
In this update, you can now do this easily: select a folder, pick a name for the domain name, and select if youâd like the domain to be secured. That easy.
Global Composer Update
Whenever Iâd switch between versions of PHP using Valet, I would usually be greeted with the message that reminded me to update my global Composer dependencies. This is a good idea if your using a particular set of tools that need to work with an older (linked) version of PHP.
I was not the only person tired of having to manually run this, so Iâve now included into the app, both as a standalone option, or as a preference. The setting is actually the coolest: it allows you to automatically run composer global update
whenever you switch to a different version of PHP with PHP Monitor.
Services & First Aid
Sometimes things just break, unfortunately.
PHP Monitor already does its best to tell you about potential issues when it boots, but sometimes, due to no fault of your own, something happens that causes the services to bork, and you might find yourself in trouble.
Perhaps you forgot to upgrade Valet, perhaps you didnât run composer global update
, perhaps it was something else.
No matter what, when things break, you have a few options in the âFirst Aid & Servicesâ section of the app. The most robust feature is Fix My Valet, which I detail in the next section.
(I also have an important feature planned for version 5.1, which will help you fix your Homebrew folder permissions. Stay tuned for that!)
You can restart various services in this menu, the status of which will be reflected in the main menu. If you see âred itemsâ (indicator that the service isnât running) in the menu, you can go here to try to restart all relevant services.
Fix My Valet
Sometimes, though, restarting the services wonât cut it. In that case, itâs time for the nuclear option: Fix My Valet, or âjust fucking fix my đŠ alreadyâ as I lovingly called this feature during development.
This is a slightly evolved âForce Link PHP 8.1â, which you might remember from the previous version of PHP Monitor.
In most situations, following the instructions in these alerts will get you back up and running without having to consult PHP Monitor (or Homebrewâs) FAQ.
Integration with Third-Party Applications
For those with dreams of never touching their mouse, I have good news: I have integrated much of PHP Monitorâs common functionality into a new extensible protocol (which can be disabled via the Preferences window, should you want to).
Iâve already built an Alfred Workflow and I will be building an official Raycast extension soon.
No More Refreshing
This one is fun: in previous versions of PHP Monitor, you always had to ârefreshâ the menu manually if you made a change in one of the .ini files. Sure enough, the menu would usually update itself quickly, but now any changes are instantly picked. Did you just adjust the memory size available to PHP? Youâll see that change in the menu instantly. Disable an extension? Same story.
Thereâs only one exception: if youâve manually linked a different version of PHP, it will take the app a bit to catch up. If you use the built-in switcher, itâll be instant, of course.
Conclusion
These arenât all of the changes, but the most notable ones. For a complete list of changes, please check the release notes instead.
Oh, one more thing: once youâve booted the app about 7 times, or have switched about 40 times, youâll see a message asking for a donation if the app has helped you. You will only see this message once.
A bunch of people have been incredibly kind and already donated, but I encourage all of you to donate if the app has saved you time: it helps the app, since it helps me invest more time into the app. You can sponsor me here.