I’m running Cutedge Systems’ brilliant WebMon, Letsencrypt, and OpenVPN Enabler to turn my Mac mini back into a macOS Server-like machine – thanks, Bernard Teo and Bee Khim! My Apple mini is still on Monterey, I’m not quite ready to upgrade it to Sonoma with OpenCore Legacy Patcher, and I want to eke some more life out of it as-is; however, Cutedgesystems’ latest Letsencrypt for Monterey, version 3.0.4, is bundled with PHP 8.0.12 and WordPress/apache no longer fully works with this PHP version. In attempt to get Letsencrypt’s bundled PHP up to the latest 8.3.3, here’s what I asked brew to do:
1. Open Terminal.app
2. Execute the following command:
/opt/homebrew-cutedge/bin/brew upgrade php
The upgrade ran for over an hour on the aging mini, but eventually it completed and updated the apache webserver to now use 8.3.3. Apache and WordPress seem to be running fine so far and a previous error message I was seeing “the server unexpectedly dropped the connection” is now gone. YES!
Extra notes… Prior to running the upgrade PHP 8.0.12 was installed in these locations:
/opt/homebrew-cutedge/Cellar/php/8.0.12
/opt/homebrew-cutedge/etc/php/8.0
After executing the above command the 8.0.12 directory was replaced with this one:
/opt/homebrew-cutedge/Cellar/php/8.3.3
And, curious, an 8.3 directory now sits beside the 8.0 directory:
/opt/homebrew-cutedge/etc/php/8.3
** Update 8-6-2025 **
The above instructions worked well, except when I re-launched the apache webserver, WebMon would indicate apache was running even though apache was not. I confirmed this by launching top and searching for apache/httpd. Combing further I looked in an error_log file, located at “/private/var/log/apache2/error_log”, and in the second to last line I found:
[Tue Aug 05 18:30:03.934182 2025] [so:error] [pid 6169] AH06663: Unable to find code signature authority on module at /opt/homebrew-cutedge/opt/php/lib/httpd/modules/libphp.so that matches authority name “Developer ID Application: Bernard Teo (FAEEV5252R)” configured on LoadModule directive.
Seems the PHP changes I made the day before require me to re-sign libphp.so file. So be it!
To sign the libphp.so file, make sure the Xcode Command Line Tools package is installed:
xcode-select –install
Next, create a Certificate Authority and a Code Signing Certificate via Keychain Access.
Open Keychain Access (Cmd + Space, then type “Keychain Access”).
Go to Certificate Assistant -> Create a Certificate Authority.
For the name I used “Developer ID Application/ Bernard Teo (FAEEV5252R)” and for the email I inserted “bernard@cutedgesystems.com” though I don’t think the latter matters.
Then created (or checked) a Code Signing Certificate by tapping “Show CA Certificate”, expand “Trust”, and change “Use System Defaults” to “Always Trust”, tap “Ok”. Then tapping “Show Certificate Authority” should take you to the certificates you just made.
I code-signed the .so file with this command:
codesign –sign “Developer ID Application: Bernard Teo (FAEEV5252R)” –force –keychain ~/Library/Keychains/login.keychain-db /opt/homebrew-cutedge/opt/php/lib/httpd/modules/libphp.s
I confirmed the “Authority” name by running:
codesign -dv –verbose=4 /opt/homebrew-cutedge/opt/php/lib/httpd/modules/libphp.so
Finally I opened:
/Applications/WebMon.app/Contents/Resources/Stuff/httpd.conf.default
And removed the “#” symbol to uncomment the following line:
LoadModule php_module /opt/homebrew-cutedge/opt/php/lib/httpd/modules/libphp.so “Developer ID Application/ Bernard Teo (FAEEV5252R)”
And then re-launched WebMon. There I confirmed it was again working and it correctly launched PHP 8.4.11 – success!!!