😴 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 5.7 now available

January 27, 2023
Table of Contents

I’m pleased to announce the immediate availability of PHP Monitor 5.7, which contains many system changes and improvements and a few new features, most notably the new Services Manager and the first version of PHP Guard.

This release mostly focuses on getting many of the new systems that form the foundation of PHP Monitor 6 in your hands early.
This release mostly focuses on getting many of the new systems that form the foundation of PHP Monitor 6 in your hands early.

Rest assured that getting some of PHP Monitor working without Valet and such is still very much being worked on.

To learn more about what’s new in this update, keep reading!

What’s New

PHP Guard

If you find yourself running brew update every now and then, you may have noticed that the linked PHP version can sometimes change if your php formula is out-of-date.

You should still restart PHP Monitor after running brew update, but now the app will keep track of which version was globally linked when you last ran it.

If this version has changed since the last time you ran PHP Monitor, you will now be notified and given the option to revert back to that version of PHP!

This release mostly focuses on getting many of the new systems that form the foundation of PHP Monitor 6 in your hands early.
This is the modal you can expect to see if your globally linked PHP version has unexpectedly changed.

Please note that you will only be notified when PHP Monitor is restarted. I will also be looking into ensuring this alert will also pop up when the app is running in the background, but that is for a future update.

Services Manager v2

It can happen that due to some upgrades or configuration changes, some service that Valet uses ends up broken. That is obviously not good news.

Thankfully, PHP Monitor now comes with a new error-aware services manager that not only tells you if Valet’s critical services are running correctly, but will also coach you if things end up breaking.

This release mostly focuses on getting many of the new systems that form the foundation of PHP Monitor 6 in your hands early.
Yes, this is a massive alert that will show up if you press the (?) button in the PHP Monitor menu if a service is not working correctly. I apologize, but I’m sure it will prove helpful in times of need.

In case an error occurs, PHP Monitor will offer you guidance by linking you to the error log for the service (if available!) or you can follow suggestions by consulting the (?) button in the services panel, which will pop up the massive alert you can see in the screenshot above.

Again, I apologize profusely about the size of this alert. 🤣

Hopefully you don’t have the attention span of a three-year old and find the text in the alert useful, if it is ever necessary. (One of my personal gripes with non-tech people is that they often simply don’t read any of the text in alerts. They simply press OK. Why do you think I wrote all of those helpful paragraphs?)

PHP Support

Compatibility with Valet 4

This update introduces preliminary support for Valet 4. Honestly, I did not have to make many changes. This new version of Valet is currently still being finalized so I cannot claim true compatibility, but it should work…

The most important addition I’ve made is that PHP Monitor can now read the contents of .valetrc files, which will replace .valetphprc files. (This information is now reflected in the Domains List as well.)

Older versions of PHP and Valet

In this version of PHP Monitor, I’ve introduced a “support matrix” for different versions of Valet. Different versions of Valet support different versions of PHP… it can be a bit complex sometimes.

PHP Monitor will tell you which versions aren’t supported, and why. In general, you can use the following versions of PHP with the global switcher:

  • When running Valet 2.x:
    • PHP 5.6 through PHP 8.2 are supported.
    • Site isolation is not available.
    • Running Valet 2 is not recommended, unless you need PHP 5.6 support.
  • When running Valet 3.x:
    • PHP 7.0 through PHP 8.3 are supported.
    • This version of Valet dropped support for PHP 5.6.
  • When running Valet 4.x:
    • PHP 7.1 through PHP 8.3 are supported.
    • This version of Valet dropped support for PHP 7.0.

PHP Monitor will show a warning if you are running a version older than Valet 2.16.2. This is not recommended, but why would you want to use an outdated version of Valet anyway?

Please note that only the currently supported versions of PHP are actively supported with Valet 4, and older version support is subject to change. For maximum compatibility, you may wish to use an older version of Valet.

The Road to v6

Key Rewrites & Testability

If you read my blog post about making PHP Monitor properly testable then you know I’ve been working on big changes “under the hood” of PHP Monitor’s most important systems.

As you can see, most of these key changes (mostly related to Swift concurrency and testability) have been completed and are a part of PHP Monitor 5.7. However, there is obviously more to come.

Only when I can get PHP Monitor working without Valet will I truly be done with what I consider to be version 6.0, so stay tuned for that.

Roadmap

Here’s the current future roadmap, which is — as usual — subject to change:

  • v5.8: Planned for next month. Additional improvements to PHP Doctor, which will inform you if key configuration files are missing or there’s two processes accessing the same socket.
  • v6.0: Planned for March/April. Support for PHP Monitor without Valet (some features are unavailable); this is a major update that will also make it so you won’t have to restart PHP Monitor when you run brew commands. Yay!
  • v6.1: Planned for later in the year. Various additions, including easy adjustments for memory limits, adding additional services to the services manager (MySQL anyone?)
  • v6.2 and later: TBD. Likely some sort of Docker integration, if I can make it work. I don’t want to make any empty promises here.

Upgrade instructions

The simplest way to ensure all of your Homebrew taps are up-to-date, and to upgrade PHP Monitor, run:

brew update-reset && brew upgrade phpmon

Please note: running brew update-reset is technically only needed if you are having issues, but it shouldn’t cause any issues if you run it anyway.

⬆️ Haven't upgraded to PHP 8.2 yet?
Find out more information about setting up PHP 8.2 with PHP Monitor!
If you ran brew upgrade to upgrade PHP Monitor you will want to read this!

Thank You

As usual, my thanks goes out to everyone who sponsored me so far.

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.