😴 I'm taking a break from February 1, 2024 until May 1, 2024, so I will be less active here and on social media.

Featured

PHP Monitor 6.0 now available

May 28, 2023
Table of Contents

PHP Monitor 6 is a major update that comes with a few important new features, including Standalone Mode, Instant Homebrew Response and the often requested PHP Version Manager.

I usually prefer less time between releases, so it has been a while since the last update, but I wanted to take my time to ensure you all have a great user experience with these new changes. I’ve been testing these changes a lot.

Especially the PHP Version Manager took a lot of time to get right, and might still not be an entirely flawless experience for everyone, but that’s unavoidable given how different people’s Homebrew setups can be.

PHP Monitor 6 in action. This screenshot displays the Domains functionality, the PHP Version Manager and the main menu when running Laravel Valet.
PHP Monitor 6 in action. This screenshot displays the Domains functionality, the PHP Version Manager and the main menu when running Laravel Valet.

What’s New

All right, without further ado, let’s get into what’s new. PHP Monitor 6 ships with three very important features that required me to rewrite a lot of how PHP Monitor works under the hood.

🆕 Standalone Mode

This one has a been requested a lot ever since PHP Monitor became somewhat popular, and it took a bit of work before I could make this possible.

PHP Monitor can now work untethered from Laravel Valet, and will offer you some of PHP Monitor’s key functionality if you don’t have Valet installed.

In fact, a lot of the original functionality is available without Valet, but there are some features that will be unavailable. (You won’t be able to manage domains, as this is a Valet feature, for example.)

PHP Monitor 6 in action. This screenshot displays the Domains functionality, the PHP Version Manager and the main menu when running Laravel Valet.
An example of what PHP Monitor looks like when running in Standalone Mode on a fresh installation of macOS Ventura with a few PHP versions installed, but no Laravel Valet. As you can see, the default memory limits are in place.

Because PHP Monitor relies on Valet for some underlying functionality, some functionality will be unavailable. To learn more about which features are disabled, please check out the GitHub issue.

I intend on building complimentary functionality that will also work without Valet, but this is not a massive priority unless you all start asking for this.

I still recommend using PHP Monitor with Valet enabled (it’s such a great solution!) but I understand some of you simply don’t need Valet, which is why I really wanted to add Standalone Mode. You’re welcome! 😉

🆕 Instant Homebrew Response

PHP Monitor now closely watches the linked PHP version. If something happens to the linked binary (due to Homebrew upgrading it, relinking or unlinking it) then PHP Monitor will immediately try to figure out what’s going on.

PHP Monitor 6 in action. This screenshot displays the Domains functionality, the PHP Version Manager and the main menu when running Laravel Valet.
Even when PHP is unlinked, PHP Monitor should persist. Yay! There’s even an option to quickly resolve this issue…

This way, you will always see the latest reflection of your system’s configuration in the status bar. This will work even when PHP is unlinked, but there may be some edge cases where this might still cause crashes during the testing period.

Previously, PHP Monitor would only refresh this information passively in the background or immediately if PHP Monitor itself ran some sort of Homebrew command. This reactivity is key for the next feature, which is…

🆕 PHP Version Manager

ℹ️ PHP Version Manager requires that you have updated Homebrew to version 4.0 or newer, or you will not be able to use this feature.

Because of the various underlying changes to PHP Monitor’s core systems to support the two features above, it was now possible to make PHP Monitor do more.

Yes, PHP Monitor can now manage the actual installation and/or upgrades for the different PHP versions on your system, all exposed via a simple GUI.

PHP Monitor 6 in action. This screenshot displays the Domains functionality, the PHP Version Manager and the main menu when running Laravel Valet.
PHP Monitor’s version manager can help you install, remove or upgrade PHP versions. Please note that depending on if and what version of Valet you are using, some PHP versions may be possible to install but will not work with Valet.

When needed, PHP Monitor will even prompt for admin access to take ownership of folders with incorrect permissions to rectify the situation. This way it’s easier to stay up-to-date with your local version of PHP as well: you can easily check if a newer patch version is available.

PHP Version Manager also performs various health checks, after installing or upgrading PHP versions. If a broken PHP installation is detected, the manager will automatically try to repair that installation.

If an installation is broken by the time you open the PHP Version Manager for the first time, you will also be able to see that this is the case and you can manually repair individual installations.

Upgrade Instructions

ℹ️ PHP Monitor 5.8+ still requires macOS Monterey 12.4 or newer!
Learn more about this change and a potential workaround here.

Via PHP Monitor

The easiest and recommended way to upgrade is to simply select Check for Updates… at the bottom of the menu that is part of the menu bar item, or to restart PHP Monitor, which will also automatically check for updates.

If you are running PHP Monitor 5.8 or newer, you can upgrade from inside the app.

A pop-up will be displayed that tells you PHP Monitor 6 is now available, and you should be able to upgrade in a matter of seconds.

Note: I’ve released a small update in the form of PHP Monitor 6.0.1 that fixes a crash bug for some users who were trying to use Standalone Mode.

Via Homebrew

You can also still upgrade via Homebrew, but this is discouraged. since the built-in updater is equally secure but does not quarantine the updated app, which may require you to approve the next launch of the app if using Homebrew.

You need to have installed the app via brew install phpmon before, and you should be able to upgrade like this:

brew update-reset && brew upgrade phpmon

What’s Next

I have some further improvements lined up for Standalone Mode, as well as some GUI additions for managing PHP limits, and I also have some (basic) Docker integration experiments planned.

I don’t want to set any specific expectations as to what will be releasing next, but a rough planning was included in a previous blog post.

(I expect to further polish the PHP Version Manager feature in point updates since there might be situations where users will encounter issues, and the more I can fix of those, the better!)

Thank You

As usual, my thanks goes out to everyone who sponsored me while I kept working on PHP Monitor 6.0.

Sponsors who are running EAP builds can stay on that channel, I’ve already pushed the release version of PHP Monitor 6.0.1 (build 1252) to that channel.

Your support keeps me motivated to keep building cool new features, and helps keep the app free for everyone.

Think I'm doing great work?
Learn more about how you can sponsor my work.