phpmon

Lightweight, native Mac menu bar app that helps you manage multiple PHP installations, locate config files and more. Also interacts with Laravel Valet.

MIT License

Stars
3.1K
Committers
4

Bot releases are hidden (Show)

phpmon - v5.6.6

Published by nicoverbruggen almost 2 years ago

PHP Monitor 5.6.6 is a maintenance release with an updated disclaimer for secured proxies, and it has been fully tested with the stable version of PHP 8.2, which is now generally available via Homebrew.

What's New

  • Fully tested this release with the official release of PHP 8.2, which is now available via Homebrew as the php formula.
  • To get PHP 8.1 back, run brew install [email protected] after running brew upgrade.

Resolved Issues

  • The GUI for creating a proxy with a subject that is being accessed over SSL (https:// prefix instead of http://) will now include a small warning about manually needing to set proxy_ssl_verify to off in the domain's nginx configuration file.

Upgrading

The recommended way of upgrading is running brew update-reset && brew upgrade phpmon after you've installed PHP Monitor using Homebrew. This always gets you the latest and greatest stable version of PHP Monitor.

If you are having issues after upgrading, you may want to run brew doctor and valet install.

(If you did not use Homebrew to install the app, you can also download a zip below.)

phpmon - v5.6.5

Published by nicoverbruggen almost 2 years ago

PHP Monitor 5.6.5 is a maintenance release with an important bugfix, and it also adds official support for the nginx-full formula.

What's New

  • Added support for the nginx-full formula (#211).

Resolved Issues

  • Fixed an issue with Composer dependency updating causing PHP Monitor's internal "busy" status not to reset (#212). This was a particularly annoying issue that has been resolved now for both manual and automatic dependency updates.

Upgrading

The recommended way of upgrading is running brew update-reset && brew upgrade phpmon after you've installed PHP Monitor using Homebrew. This always gets you the latest and greatest stable version of PHP Monitor.

If you are having issues after upgrading, you may want to run brew doctor.

(If you did not use Homebrew to install the app, you can also download a zip below.)

phpmon - v5.6.4

Published by nicoverbruggen almost 2 years ago

PHP Monitor 5.6.4 is a maintenance release with bugfixes and support for PHP 8.2. This build even introduces support for PHP 8.3 dev builds, as is usually the case when a new stable PHP version is around the corner.

Upgrading

If you are upgrading to macOS Ventura or have upgraded, make sure your installation of Homebrew is up-to-date, since new OS releases often mean that a major update for Homebrew is usually available. If you are having issues after upgrading, you may want to run brew doctor.

The recommended way of upgrading is running brew update-reset && brew upgrade phpmon after you've installed PHP Monitor using Homebrew. This always gets you the latest and greatest stable version of PHP Monitor.

If you did not use Homebrew to install the app, you can download a zip below (by expanding Assets and choosing phpmon.zip).

What's New

  • Added support for PHP 8.2 (requires shivammathur/php until release day)
  • Added detection for PHP 8.3-dev builds (requires shivammathur/php, plus see more info below)

Resolved Issues

  • Fixed an issue with the quick-toggling of services (clicking on the button with the checkmark or cross). The spinner there took too long to disappear due to a completion closure not firing.

A note on (preliminary) PHP 8.3 support

Valet won't play nice with PHP 8.3 pre-releases yet. You will need to tweak a source file in your local Valet installation (in ~/.composer/vendor/laravel/valet/cli/Valet/Brew.php).

If [email protected] is not listed in the array, add it:

const SUPPORTED_PHP_VERSIONS = [
       'php',
+      '[email protected]',
       '[email protected]',
       '[email protected]',
       '[email protected]',

Run valet install to update Valet's configuration and then it should work. I consider this addition to be preliminary support for this pre-release version, so if this doesn't work or breaks, let me know!

phpmon - v5.6.3

Published by nicoverbruggen almost 2 years ago

PHP Monitor 5.6.3 is a maintenance release with official support for macOS Ventura.

Upgrading

If you are upgrading to macOS Ventura or have upgraded, make sure your installation of Homebrew is up-to-date, since new OS releases often mean that a major update for Homebrew is usually available. If you are having issues after upgrading, you may want to run brew doctor.

The recommended way of upgrading is running brew update-reset && brew upgrade phpmon after you've installed PHP Monitor using Homebrew. This always gets you the latest and greatest stable version of PHP Monitor.

If you did not use Homebrew to install the app, you can download a zip below (by expanding Assets and choosing phpmon.zip).

What's New

  • Added a preference to disable the warning about using a custom TLD (#206).

Resolved Issues

  • Potentially fixes issue(s) with concurrency by building against the macOS 13 (Ventura) SDK.
  • Fixed an issue with empty terminal output causing the app to crash when running brew info when querying a tap or package that isn't installed.
  • Added the instruction to run brew tap homebrew/services when bumping into issue #208.
phpmon - v5.6.2

Published by nicoverbruggen about 2 years ago

PHP Monitor 5.6.2 is a maintenance release that fixes a few minor bugs.

Upgrading

The recommended way of upgrading is running brew update-reset && brew upgrade phpmon after you've installed PHP Monitor using Homebrew. This always gets you the latest and greatest stable version of PHP Monitor.

If you did not use Homebrew to install the app, you can download a zip below (by expanding Assets and choosing phpmon.zip).

Resolved Issues

  • Fixed an issue with the way the valet secure command works (#197).
  • Fixed an issue with a separator being missing from the menu when Xdebug mode configuration is hidden.
  • Fixed an issue with a retain cycle (i.e. small memory leak) related to the update window that is displayed when you manually or automatically upgrade your Composer dependencies. This probably didn't even need to be fixed (due to the very limited impact) but here we are.
phpmon - v5.6.1

Published by nicoverbruggen about 2 years ago

PHP Monitor 5.6.1 is a minor update that fixes a few bugs that may have caused issues for some users when starting the app. As usual, all users are recommended to upgrade.

Upgrading

The recommended way of upgrading is running brew update-reset && brew upgrade phpmon after you've installed PHP Monitor using Homebrew. This always gets you the latest and greatest stable version of PHP Monitor.

If you did not use Homebrew to install the app, you can download a zip below (by expanding Assets and choosing phpmon.zip).

Resolved Issues

  • Fixed an issue where the update checker would link to the incorrect URL (#195).
  • Fixed an issue where the app wouldn't progress past initial PATH determination, causing the icon to either freeze or not appear (#194).
  • If the scanApps property is missing in the custom configuration file, the config file will now still be read correctly.
phpmon - v5.6

Published by nicoverbruggen about 2 years ago

PHP Monitor 5.6 is a quality of life release and improves the ease of use of the site isolation feature, and introduces the ability of users to customize what appears in the main menu when you click on the version number (or truck icon).

Upgrading

The recommended way of upgrading is running brew update-reset && brew upgrade phpmon after you've installed PHP Monitor using Homebrew. This always gets you the latest and greatest stable version of PHP Monitor. If you did not use Homebrew to install the app, you can download a zip below (by expanding Assets and choosing phpmon.zip).

What's New in 5.6

  • In Preferences there's a new Visibility tab. Here you can hide specific features from PHP Monitor's main menu: only keep what you really need!

  • 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.

  • Upon right-clicking, if a site is already isolated, you will be able to instantly choose a different version of PHP to switch to for that site. (Think of this as a switcher... this means you won't have to remove site isolation and then manually reisolate the site again with your preferred PHP version. Thankfully!)

phpmon - v5.5.1

Published by nicoverbruggen about 2 years ago

This release fixes an issue that could occur if your username and your home directory have different names. This could have caused various issues in versions <5.5, but since the latest minor update the app wouldn't start on systems with this issue. This has now been resolved.

Upgrading

The recommended way of upgrading is running brew update-reset && brew upgrade phpmon after you've installed PHP Monitor using Homebrew. This always gets you the latest and greatest stable version of PHP Monitor. If you did not use Homebrew to install the app, you can download a zip below (by expanding Assets and choosing phpmon.zip).

Resolved in 5.5.1

  • whoami is no longer used, instead id -un is used to determine the active user's username. (#189)
  • The user's home directory is now correctly determined and used where necessary. (#189)

What's New in 5.5

  • Added PHP Doctor, which will alert you if there are issues with your setup in regard to file permissions and such. For now, the recommendations are limited to ensuring you are running the optimal version of Homebrew on M1 and related to ensuring that the helper files can be generated and symlinked correctly.
  • Added support for custom environment variables (#183, consult the issue or FAQ for more information).
  • Added a new "Welcome to PHP Monitor" onboarding screen (only displayed at first launch, #181).
phpmon - v5.5

Published by nicoverbruggen about 2 years ago

This release adds a few new features (PHP Doctor, a better onboarding experience and custom environment variable support) to PHP Monitor. This release also includes a various bugfixes that should improve the experience for new users or users who have difficulties with their Valet setup. All users are recommended to upgrade.

Upgrading

The recommended way of upgrading is running brew update-reset && brew upgrade phpmon after you've installed PHP Monitor using Homebrew. This always gets you the latest and greatest stable version of PHP Monitor. If you did not use Homebrew to install the app, you can download a zip below (by expanding Assets and choosing phpmon.zip).

What's New

  • Added PHP Doctor, which will alert you if there are issues with your setup in regard to file permissions and such. For now, the recommendations are limited to ensuring you are running the optimal version of Homebrew on M1 and related to ensuring that the helper files can be generated and symlinked correctly.
  • Added support for custom environment variables (#183, consult the issue or FAQ for more information).
  • Added a new "Welcome to PHP Monitor" onboarding screen (only displayed at first launch, #181).

Resolved Issues

  • Fixed an issue with the text in the "could not check for updates" alert (#185).
  • PHP Doctor now alerts you about #179 and #171 (both require manual user intervention).
  • The app now checks if you ran valet install (#182).
  • The app will no longer crash if it has difficulty parsing your Valet version number (#188).
  • This build has been tested with macOS Ventura, and should work. I have not tested every feature extensively, so please let me know if you encounter any issues. (#176).
phpmon - v5.4.1

Published by nicoverbruggen over 2 years ago

This is a bugfix release that fixes an issue with PHP Monitor 5.4. All users are recommended to upgrade.

Upgrading

The recommended way of upgrading is running brew update-reset && brew upgrade phpmon after you've installed PHP Monitor using Homebrew. This always gets you the latest and greatest stable version of PHP Monitor. If you did not use Homebrew to install the app, you can download a zip below (by expanding Assets and choosing phpmon.zip).

Resolved Issues

  • You will now get notified if your global Composer dependencies are incompatible after switching to a different PHP version. (#178)
  • PHP Monitor will refuse to start if your global Composer dependencies are incompatible with the currently globally linked PHP version. (#178)
  • PHP Monitor's custom modals will now appear a little bit higher up than before. I always felt like their position was off ever so slightly (compared to the system modals) and now they will appear a little higher up.
phpmon - v5.4

Published by nicoverbruggen over 2 years ago

This release adds a variety of new features, including support for custom services, presets and various other improvements. For the full list of changes, please see What's New below.

If you want to learn more and see some screenshots, please see the blog post on my website.

What's New

  • The configuration file has been moved to ~/.config/phpmon/config.json. If you had a custom configuration file before, it will be automatically copied to the new location.

  • Various views throughout the app have been rewritten and now use SwiftUI. If something looks off, please let me know. If you are on macOS 11, please get in touch and let me know if you encounter issues with the appearance of the app.

  • Services can now be started and stopped by pressing on the status icon (cross or checkmark) in the dropdown when you click on PHP Monitor's icon.

  • The Preferences window was getting a bit big, so it now has multiple tabs. A new section for granular notification settings has also been added.

  • You can now toggle Xdebug modes via Manage Xdebug. You can also disable all modes at once by choosing Disable All, which disables all modes and sets the value of xdebug.mode to off. Xdebug must be installed for this option to appear.

  • You can now add Configuration Presets to PHP Monitor. You must set these up in a JSON file, located in ~/.config/phpmon/config.json. You must have set up at least one valid preset for this item to appear in PHP Monitor. Here's a template you can use to get started:

{
    "scan_apps": [],
    "services": [],
    "presets": [
        {
            "name": "Legacy Project",
            "php": "8.0",
            "extensions": {
                "xdebug": false
            },
            "configuration": {
                "memory_limit": "128M",
                "upload_max_filesize": "128M",
                "post_max_size": "128M"
            }
        },
        {
            "name": "Modern Project",
            "php": "8.1",
            "extensions": {
                "xdebug": true
            },
            "configuration": {
                "xdebug.mode": "coverage",
                "memory_limit": "512M",
                "upload_max_filesize": "512M",
                "post_max_size": "512M"
            }
        }
    ]
}
  • You can specify custom services in the configuration file for Homebrew services that run as your own user (not root). You can find out which services are available by running brew services list. While you can add the Valet services again (php, dnsmasq, nginx), this is not recommended and will break the app. For example, you can do this:
{
    "scan_apps": [],
    "services": ["mailhog", "mysql"],
    "presets": []
}
  • This build has been tested with macOS Ventura, and should work. I have not tested every feature extensively, so please let me know if you encounter any issues.

Known Issues

  • If there are permission issues reading the contents of the /private/etc/sudoers.d/brew or /private/etc/sudoers.d/brew files, the app will tell you to run valet secure. Instead, you should fix permissions for these files.
  • If the /usr/local/bin directory is not writeable, the app will silently fail to write the PHP version helpers without notifying the user.
  • Custom services that need to start as root are currently not supported. Custom services currently always start as owned by the current user (not root).
phpmon - v5.3.2

Published by nicoverbruggen over 2 years ago

This is a bugfix release that fixes an issue with PHP Monitor 5.3. All users are recommended to upgrade.

Upgrading

The recommended way of upgrading is running brew update-reset && brew upgrade phpmon after you've installed PHP Monitor using Homebrew. This always gets you the latest and greatest stable version of PHP Monitor. If you did not use Homebrew to install the app, you can download a zip below (by expanding Assets and choosing phpmon.zip).

Resolved Issues

  • Starting the app now fixes any issues that may exist with www pools and port conflicts (#173). This could occur if you've upgraded the PHP version, but haven't run valet install after upgrading a PHP version.
  • Fixed an issue that would cause the site isolation feature not to work correctly if you have more than 50 domains in the domains list, assuming the fixing the www pools was needed.
  • Removed two test files from application target, which means these are no longer included in the PHP Monitor.app file.
phpmon - v5.3.1

Published by nicoverbruggen over 2 years ago

This is a bugfix release that fixes an issue with PHP Monitor 5.3. All users are recommended to upgrade.

Upgrading

The recommended way of upgrading is running brew upgrade phpmon after you've installed PHP Monitor using Homebrew. This always gets you the latest and greatest stable version of PHP Monitor. If you did not use Homebrew to install the app, you can download a zip below (by expanding Assets and choosing phpmon.zip).

Resolved Issues

  • Fixed an issue where the green checkmark would be displayed for every domain in the domain list, regardless of the PHP version compatibility. The compatibility status was determined correctly, but the checkmark always was incorrectly shown.
phpmon - v5.3

Published by nicoverbruggen over 2 years ago

This release adds support for creating and managing Valet proxies, which will now be displayed in the list of domains. Also new: starting with this release, the app will automatically notify you about updates. (You can disable this automatic check if you prefer.)

What's New

  • You can now see which proxies are active in the domains list.
  • You can now set up a new proxy (by clicking the + button) via the UI.
  • You can now remove a proxy by right-clicking on the proxy in the list and selecting the option to remove it. You will need to confirm the removal.
  • You can (un)secure an existing proxy (which will recreate the proxy) by right-clicking on the proxy in the list and selecting the appropriate option.
  • The app will now automatically check if an updated version is available. You can disable the automatic check (which happens when PHP Monitor is launched) in Preferences.

Resolved Issues

  • Fixed an issue with the tertiary action in alerts if no secondary action was specified.

Known Issues

  • If there are permission issues reading the contents of the /private/etc/sudoers.d/brew or /private/etc/sudoers.d/brew files, the app will tell you to run valet secure. Instead, you should fix permissions for these files.
  • If the /usr/local/bin directory is not writeable, the app will silently fail to write the PHP version helpers without notifying the user.
phpmon - v5.2.2

Published by nicoverbruggen over 2 years ago

This is a bugfix release that fixes various minor issues with PHP Monitor 5.2. Due to the nature of the fixes included in this update, upgrading to this release is recommended for all users of PHP Monitor.

Upgrading

The recommended way of upgrading is running brew upgrade phpmon after you've installed PHP Monitor using Homebrew. This always gets you the latest and greatest stable version of PHP Monitor. If you did not use Homebrew to install the app, you can download a zip below (by expanding Assets and choosing phpmon.zip).

Resolved Issues

  • Fixed an issue where PHP 5.6 would not show up in the menu when running Valet 2 (#165)
  • Fixed an issue that crashed the app when switching to pre-release versions PHP 8.2 (#162)
  • Fixed an issue where PHP-FPM automatic pool disabling would not work if the fix was already applied before. This resulted in the PHP service reporting itself as not working correctly (#149)
  • Tweaked the text in various alerts for those who want to use PHP 8.2 with PHP Monitor, even though this isn't officially supported yet (#162)
phpmon - v5.2.1

Published by nicoverbruggen over 2 years ago

This is a bugfix release that fixes an issue with the isolation command (#158).

phpmon - v5.2

Published by nicoverbruggen over 2 years ago

Upgrading

The recommended way of upgrading is running brew upgrade phpmon after you've installed PHP Monitor using Homebrew. This always gets you the latest and greatest stable version of PHP Monitor. If you did not use Homebrew to install the app, you can download a zip below (by expanding Assets and choosing phpmon.zip).

Important

If you do upgrade to Valet 3, you will lose support for PHP 5.6, but the site isolation feature will be enabled in PHP Monitor. For more information, I recommend reading my blog post on this release.

What's New

  • Updated site list window. The window has been updated to reflect the accurate PHP status (what version is being served). You will also see a pin icon for isolated sites (Valet 3 only).
  • Sort sites in site list. See also #148. In addition to the redesign, you can now sort your site list based on the various columns that have been added to the site list. You can reorder those columns the way you like, and the sorting you last applied will be remembered.
  • Default site support. See also #125. If you have specified a default site in config.json, it will now be displayed in the site list. Should you reload the site list, the config.json file is now also reloaded, which means that PHP Monitor will pick up any new default site, directories and TLD.
  • Easy CLI access to various PHP versions. PHP Monitor will detect what versions of PHP are installed and create helper files. You can then use them like this: pm80 will activate PHP 8.0, and pm74 will activate PHP 7.4. (PHP Monitor only enables which versions of PHP you have installed locally.)
  • Support for site isolation. See also #148. If you are running Valet 3.0 or newer, you can now choose a fixed version of PHP to use for each site. You can isolate a site by right-clicking on the site in question and selecting which version you'd like to isolate.

Resolved Issues

  • If your config.json file (containing your Laravel Valet config) is invalid, you will be prompted when PHP Monitor launches.
  • Added support for detecting Typo3 CMS projects using composer or the specific folder. (#153)
  • In certain situations, after installing or reinstalling PHP versions the www.conf pool configuration file would not be renamed, which is the default behaviour of Laravel Valet. PHP Monitor now disables those files whenever the version switch happens, because they could lead to failing services commands (#152). This brings the behaviour of PHP Monitor in line with Valet's own switcher.
phpmon - v5.1.1

Published by nicoverbruggen over 2 years ago

Upgrading

The recommended way of upgrading is running brew upgrade phpmon after you've installed PHP Monitor using Homebrew. This always gets you the latest and greatest stable version of PHP Monitor. If you did not use Homebrew to install the app, you can download a zip below (by expanding Assets and choosing phpmon.zip).

Resolved Issues

  • #146: You will be prompted to run valet trust before evaluating whether the services JSON can be retrieved via Homebrew. The incorrect order of startup checks caused some confusion for new users.
  • A typo has been fixed in the Fix My Valet flow.
phpmon - v5.1

Published by nicoverbruggen over 2 years ago

Upgrading

The recommended way of upgrading is running brew upgrade phpmon after you've installed PHP Monitor using Homebrew. This always gets you the latest and greatest stable version of PHP Monitor. If you did not use Homebrew to install the app, you can download a zip below (by expanding Assets and choosing phpmon.zip).

What's New

  • #86: Restore Homebrew Permissions. This feature was created so you can run brew upgrade or brew cleanup without permission issues. This will require administrative privileges, because PHP Monitor will restore your ownership of the files and folders that are currently owned by the root user, due to Valet services running as root.
  • #141: Fix My Valet: Fix My Valet has been overhauled and will now suggest switching back to a previous version of PHP if you were not on the latest version.
  • #143: Scanning .valetphprc files: If you include a .valetphprc file in your folder, PHP Monitor will attempt to scan that file for a PHP version number (e.g. [email protected]) and will apply that as the constraint for that domain.
  • #134: Rosetta now supported on M1: PHP Monitor now uses the Homebrew installation based on how you're running the app. If you are on Intel or running via Rosetta, /usr/local/bin/brew is used. If you're running natively on M1, /opt/homebrew/bin/brew is used instead. This allows people who are using M1 Macs, but still wish to use their Rosetta version of Homebrew to run the app under Rosetta and have it work exactly as it would on an Intel Mac.
  • Improved (onboarding) alerts and more precise feedback. New alerts now replace many of the previous alerts throughout the app. Many have been updated, and some will also link back to the FAQ. The startup process has been revamped and improved for a better onboarding experience, as well.

Resolved Issues

  • #126: You now get warned if you use a non-default TLD since PHP Monitor does not entirely support these.
  • #142: The full version is now displayed in the dropdown again if requested in Preferences.
  • #144: You no longer have to make a symlink if your composer binary is located in /opt/homebrew/bin.
phpmon - v5.0.1

Published by nicoverbruggen over 2 years ago

Upgrading

The recommended way of upgrading is running brew upgrade phpmon after you've installed PHP Monitor using Homebrew. This always gets you the latest and greatest stable version of PHP Monitor. If you did not use Homebrew to install the app, you can download a zip below (by expanding Assets and choosing phpmon.zip).

Improvements

  • In the Preferences menu, you can now choose which type of icon you would like to select (or none at all) (#106)
  • Improved the way the First Aid & Services submenu is rendered (#128)
  • There should no longer be any flickering when the domains list is refreshed. The spinner also won't appear unless it takes a bit longer to parse your domains or perform an action like securing your site. (This also helps with the flickering.)

Bug Fixes

Huge thanks to the various reporters who helped me track down these bugs!

  • #120: Improved assets for the app (icons); no longer created by the OS from the SVG source material.
  • #124: If your sudoers file does not contain the correct info but Valet is present, the app would crash running valet --version prior to confirming valet can run without admin permissions. This no longer happens.
  • #123: If any of the usual files that are usually watched (.ini files) are not present or otherwise inaccessible (due to root ownership), the app will no longer crash.
  • #115: Fixed a typo in one of the modals about symlinking composer.json.
  • #132: Fixed an issue parsing RC PHP versions. Upgrade to the stable version if you're still on a release candidate, though. ;)
  • Fixed a retain cycle when attempting to enable or disable an extension.
  • If you switched PHP versions first and open the domains list afterwards for the first time you had to refresh the list (because it was preloaded when the app launched and did not reflect your new PHP version). This is no longer necessary.