Featured

What's next for PHP Monitor

September 17, 2022
Table of Contents

I’m pleased to announce the immediate availability of PHP Monitor 5.6. This penultimate release of version PHP Monitor 5 brings a few new quality of life features to the app.

PHP Monitor 5.5 was released a while ago with new features like PHP Doctor (used to help you debug configuration issues) and a better onboarding experience (for those of you new to the app). Also added in version 5.5 was the ability to use custom environment variables.

In this blog post, I’d like to talk about these recent additions to the app, and I would also like to talk about the future of the app.

Some of this information was released earlier to my sponsors on GitHub. If you'd like early updates and/or talk to me directly, please sponsor me!

What’s New

phpmon.app

I recently launched PHP Monitor’s dedicated site. This site currently acts as a simple one-pager for marketing purposes.

I may move these blog posts and updates to the dedicated site eventually, as well as an updated FAQ with screenshots and more. Give it a look! I updated the site earlier this week to include stats (mostly GitHub stars and downloads).

New in PHP Monitor 5.5

Welcome Tour

The first new feature is the one you are the least likely to see if you have been using PHP Monitor for a while now: the new onboarding experience. If you are using PHP Monitor for the first time, you will see a new onboarding window.

The new onboarding experience. You can access it via “First Aid & Services > Welcome Tour…” if you aren’t using the app for the first time.
The new onboarding experience. You can access it via “First Aid & Services > Welcome Tour…” if you aren’t using the app for the first time.

PHP Doctor

Another new feature introduced in PHP Monitor is called “PHP Doctor”. It’s kind of like brew doctor, in that it detects issues with your PHP installation and/or system configuration. This feature is mostly hidden, unless you actually have an issue with your system configuration.

PHP Doctor will inform you when the helper files aren’t available in your terminal and suggest a possible fix.
PHP Doctor will inform you when the helper files aren’t available in your terminal and suggest a possible fix.

For example, the default settings on macOS do not allow PHP Monitor to create symlinks for the helper files. As a result, it is one of the common recommendations that you’ll see pop up.

Support for environment variables

If you are interested in customizing how PHP Monitor interacts with other tools and you can do this with environment variables, you may want to know that PHP Monitor doesn’t actually use any of your local environment variables, unless you specify them separately in the config.json file.

This is done to avoid interference and issues caused by custom configuration files (like dotfiles) or additional tools which may impact the output of common system commands used by PHP Monitor.

Set up custom environment variables in the ~/.local/phpmon/config.json file.
Set up custom environment variables in the ~/.local/phpmon/config.json file.

That being said, maybe you want to edit COMPOSER_HOME because you have your global Composer installation located somewhere else.

This means that “automatically update Composer dependencies” would otherwise not work correctly. You can now fix this by modifying the config.json file (learn more in the FAQ).

New in PHP Monitor 5.6

Main menu tweaking

In the Preferences window you can now find a new Visibility tab, which allows you to customize what appears in the main menu. For all of you power users that don’t need every feature that the app offers, or just find the menu to be a bit too bloated.

You could effectively remove everything from the menu. I would not recommend this, and recommend that you instead hide what you don’t use. You are seeing a screenshot of my personal setup here, for example.
You could effectively remove everything from the menu. I would not recommend this, and recommend that you instead hide what you don’t use. You are seeing a screenshot of my personal setup here, for example.

Site isolation version switching

In the previous versions of PHP Monitor, if you wanted to isolate a site, you could easily do so by right-clicking on any given domain and selecting the appropriate option in the context menu.

However, if you had a domain that was already isolated, you needed to remove isolation from that site to pick a different PHP version.

Look, super easy. If no isolation is currently applied to a given domain, you won’t see a checkmark and you won’t be able to remove isolation, obviously.
Look, super easy. If no isolation is currently applied to a given domain, you won’t see a checkmark and you won’t be able to remove isolation, obviously.

This has been rectified in this release. You can now change between isolated versions of PHP much more easily. Removing isolation is also still possible, of course. This should make testing with PHP 8.2 much easier.

User experience improvements

Some minor user experience improvements have also been made. Here’s an example: the way the contextual menu works in the domain list has been modified.

Instead of having to left-click on a domain before right-clicking, you can now instantly right-click on the item in question, and the domain will immediately be selected. That’s a much nicer experience now!

Future Plans

Note: Any future plans are, obviously, subject to change. This is an open source project being produced in my spare time, after all.

PHP Monitor 6

This week, I’ve started my work on PHP Monitor 6.0, which will be a major update that is planned to contain new features and many improved, rewritten systems. I can already reveal one of the biggest changes that I have started working on: making PHP Monitor work without actually requiring Laravel Valet.

This has been the most popular feature request that hasn’t been fulfilled yet, and it would make sense as some of you are using Docker or artisan serve in combination with Homebrew’s native PHP installation.

This will mean that PHP Monitor will offer limited functionality if you do not have Valet installed, but that’s OK with me: the key features that interact with Homebrew’s PHP version(s) will still work.

I also have some other plans for this release, but there are some subsystems that I’d like to rewrite first. The perfect time to do that is, obviously, prior to a big release. As such, I expect that it will take some time before this release will be ready: it may take until early 2023 before it is ready for a public release.

PHP Monitor and PHP 8.2

In the meantime, in November, PHP 8.2 will be officially released, and I plan to release a new version of PHP Monitor where PHP 8.2 is marked as the ‘stable’ version, even if PHP Monitor 6.0 isn’t ready yet.

This will likely be the last version of PHP Monitor 5, which will remain supported until PHP Monitor 6.0 is ready for release. If you are looking to update your apps or packages, you can use PHP Monitor today with PHP 8.2, as PHP Monitor 5 has supported the early PHP 8.2 builds for a while now.

➡️ Learn more about supported pre-release versions here.

Sponsor Advantages

Early Access for GitHub Sponsors

Everyone who sponsors on GitHub will also get exclusive access to PHP Monitor 6.0’s early access builds, which should arrive much sooner than the public pre-release builds. Your feedback (and bug reports) during this time will be indispensable, and you’ll be able to enjoy a few new features early.

So if you are a sponsor, I ask you to please consider testing those early access builds once available—I will make sure to give these releases a different app identifier so you can have them run in parallel with PHP Monitor’s currently stable release, and not cause any issues.

(I am working on PHP Monitor 6 in a separate repository that sponsors will get access to when the first early access release becomes available to them, so that they can inspect the source code if they desire so. These changes will end up in the main phpmon repository upon release of PHP Monitor 6.0.)

❤️ Become a sponsor on GitHub here.

A Big Thank You

Since PHP Monitor is very much a labour of love that I work on after the day’s work is done, my time to work on the project is limited. This is why it will take considerable time until PHP Monitor 6 will be ready for release.

That being said, I’m personally quite happy about the pace of development at the moment. I’ve been able to release new builds on a monthly basis, often with new features, bugfixes and enhancements.

Thanks to my sponsors’ charitable contributions, I’ve been able to negate the personal cost impact of the Apple Developer Program membership, various Swift-related courses and resources, plus other software that has allowed me to more efficiently develop PHP Monitor.

Thank you. I hope you look forward to PHP Monitor 6!