Featured

PHP Monitor 7.0 now available

February 12, 2024
Table of Contents

PHP Monitor 7 is now available with a bunch of new features, most notably improved extension management and administration features. Read more below for details.

💁🏻‍♂️ If you have no need for additional extensions or would like to ditch your Homebrew-based PHP installation(s), you may want to check out an excellent alternative to PHP Monitor, Laravel Herd.

Okay, with that disclaimer out of the way: if you are still using PHP Monitor and Homebrew for your local PHP development needs, you’ve come to the right place. Allow me to explain…

I’ve personally found that I always need one or two additional extensions for my projects that weren’t previously included with Herd, and using pecl in the past has been a bit frustrating, especially when juggling multiple versions of PHP.

You will find that with this release, PHP Monitor makes it even easier to manage and install those extensions. With new extension management features also included, it becomes super easy to manage extensions for separate PHP versions, as well. Begone, friction!

(In particular, you may find toggling extensions helpful to test how your code works when particular extensions are missing.)

What’s New

🆕 Extension Manager

For each PHP version that PHP Monitor has discovered, you will be able to install from a list of extensions, which is sourced from this tap. That means that you’ll have a bunch of extensions easily at your disposal.

You can use the dropdown to switch between different PHP versions, if you have multiple versions installed. This makes it easy to install extensions, even for PHP versions that aren’t currently linked.

Important: You can also still install extensions the conventional way if you prefer that, and third-party extensions not available via this extension manager can still be toggled via PHP Monitor, by the way!

Instead of using pecl, PHP Monitor will use a tap and also install an extension’s prerequisites alongside each extension. No need to wait for extensions to compile! (Unless you bring your own.)
Instead of using pecl, PHP Monitor will use a tap and also install an extension’s prerequisites alongside each extension. No need to wait for extensions to compile! (Unless you bring your own.)

🆕 Managing extensions via Domains

If you’ve ever been working on a project with a PHP version that isn’t the globally linked one… you may have found yourself a little bit annoyed.

In previous versions of PHP Monitor, you would need to switch to that version (globally!) if you wanted to disable extensions without going to the .ini files. Annoying, right?

With PHP Monitor 7, you can now right-click (or open a context menu) when clicking on a site and if that site uses an isolated version of PHP, you can tweak which extensions are enabled for that isolated version of PHP, right there!

You can toggle any extension that PHP Monitor has discovered, including ones that weren’t installed via the Extension Manager.

Look how easy this is! Changing the extension does apply this for all sites using that PHP version, keep that in mind.
Look how easy this is! Changing the extension does apply this for all sites using that PHP version, keep that in mind.

🆕 Language override via the app’s settings

PHP Monitor has been localized, but it wasn’t super obvious to switch back to English if you had your operating system set to one of the languages supported by PHP Monitor.

With PHP Monitor 7, you can now select a language override via Settings without needing to explore macOS’ terrible Settings app. Let’s all breathe a sigh of relief!

My apologies to all of my German friends who prefer using the app in English. You no longer need an annoying workaround to get the app back in English.
My apologies to all of my German friends who prefer using the app in English. You no longer need an annoying workaround to get the app back in English.

🆕 Symlink integrity checks at boot

When PHP Monitor starts up, it will now check for obsolete PHP versions, i.e. incorrect symlinks in your Homebrew directory.

After upgrades, it’s always possible certain symlinks remain behind, and this can lead to PHP Monitor behaving incorrectly under some circumstances. PHP Monitor will now clean up broken symlinks, avoiding further confusion.

Upgrade Instructions

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 7 is now available, and you should be able to upgrade in a matter of seconds.

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

Homebrew PHP… perfected.

PHP Monitor is now pretty much exactly what I wanted the app to be: a one-stop shop that lets you just use PHP for local development, while giving you an easy way to install PHP versions and administer PHP extensions for my Homebrew environment.

Besides a few desired quality of life changes, the app is pretty much done. (Oh, and it’s also there to monitor your current Valet environment, of course.)

A thank you to sponsors

Without the support of the many sponsors over the last years, the app would never have made it beyond being a simple menu bar app. Thank you! Your continued sponsorship is very much appreciated.

Quality of life improvements

As far as I’m concerned, PHP Monitor will now enter a new development phase, the polish phase. I suspect the majority of you will appreciate what will be coming next.

I already wrote a bit on this topic when I wrote my Finishing PHP Monitor blog post, so you may want to go and read it first.

It’s safe to say that the next few updates will focus on quality of life improvements and bug fixes, though I suspect releases will be sparse until May, when my sabbatical comes to a close and I get back to work.

On ‘competing’ with Herd and Docker

In the meantime, I hope that PHP Monitor remains useful to all of you out there using the app! I hope it keeps saving you all a little bit of time (and frustration).

That is, if you haven’t switched to some other development environment, whether it is Docker (because you needed more flexibility) or Laravel Herd (because you love the simplicity and power user features).

I’m very excited to see Herd make the jump to Windows, too — it’s something I haven’t been able to offer with PHP Monitor due to a lack of Windows development experience (and a lack of time), and something like it has been missing in the Windows ecosystem. I know I’ll be using Herd on my Windows machine!

It’s easy to think that everything in life is a competition and there will always be some people who are going to champion one tool over the other. I think you should always evaluate the best solution for your own use case.

When it comes to what I’d choose for my PHP development environment on the Mac, I must admit I’m a bit biased, of course. For many of you, Herd will be your preferred solution.

At the same time, I’m very aware there will always remain some developers who prefer The Old Ways. To those people, I will say: do not worry, I will remain here to support PHP Monitor as long as I can find the time, regardless. Cheers!

Tagged as: PHP Monitor