If the XAMPP Manager is not opening on macOS 27 (Golden Gate), two things changed on your Apple silicon Mac. The upgrade does not bring Rosetta back, and the manager's launcher script only recognises Intel processors, so it quits with "The current OS X version is not supported" before any window appears. The fix is to reinstall Rosetta and add two lines to one shell script.
The whole job takes about five minutes in Terminal. It does not touch htdocs, your databases or your Apache and PHP configuration, and you do not need to reinstall XAMPP. A fresh install would not help, because it ships the same launcher script.
This guide is for developers who run PHP projects, Moodle or a WordPress LMS locally on XAMPP. We read the launcher script on a standard XAMPP install on an Apple silicon Mac and tested the patch below against a copy of it, so every line shown here comes from the real file.
What you see when the XAMPP Manager fails
You open manager-osx from /Applications/XAMPP and no window appears. There is no error dialog, because the launcher prints its error to standard output, which Finder never shows you.
To see the real message, run the launcher script directly in Terminal:
/Applications/XAMPP/xamppfiles/manager-osx.app/Contents/MacOS/installbuilder.sh
On an affected Mac it prints one line and exits:
The current OS X version is not supported
Then check what your Mac reports as its processor type:
uname -p
On Apple silicon the answer is arm. That single word is the reason the manager refuses to start.
Why the XAMPP Manager is not opening on macOS 27
Apple's macOS 27 release notes list two Rosetta changes that matter here:
- Rosetta is not restored by the upgrade. The notes say that if Rosetta was previously installed, it "is not automatically restored after upgrading to macOS 27.0".
- Apps launch natively by default. Apps that a user had set to "Open using Rosetta" now start as native Apple silicon processes.
The XAMPP Manager is not a normal app binary. Its bundle executable is a shell script, installbuilder.sh, whose only job is to choose a runtime and start it. This is the part that decides:
machine_platform=`uname -p`
machine_arch=`uname -m`
if [ "${os_version:0:1}" == "6" ];then
executable="none"
elif [ "${machine_platform}" == "i386" ];then
...
runtimes="osx-x86_64 osx-intel"
...
else
executable="none"
fi
if [ "$executable" == "none" ]; then
echo "The current OS X version is not supported"
exit 1
fi
The script knows one processor type: i386. Anything else falls through to "none".
| How the script runs | uname -p returns | Result |
|---|---|---|
| As an Intel process through Rosetta | i386 | Picks osx-x86_64, the manager opens |
| Natively on Apple silicon | arm | No branch matches, the script exits with the error |
Script-based app bundles like this one were typically launched through Rosetta on earlier macOS releases, which is why the check used to pass on Apple silicon. On macOS 27 the script runs natively and reports arm. Apple's notes do not name script-based bundles, so treat that as our reading of the behaviour. The script logic itself is not in doubt.
One more detail explains why the patch alone is not enough. The files behind the script are Intel builds. On the install we inspected, the runtime is a single file named osx-x86_64, and the Application Manager helper contains i386, PowerPC and x86_64 code but no arm64. Both need Rosetta to run.
Before you start
- An Apple silicon Mac on macOS 27. Check under Apple menu, About This Mac.
- An administrator account, because the commands use
sudo. - An internet connection, because Rosetta downloads from Apple.
- XAMPP in its default location,
/Applications/XAMPP. Adjust the paths if you moved it.
Step 1: Reinstall Rosetta 2
Apple documents the command in its support article on using Intel-based apps on a Mac with Apple silicon:
softwareupdate --install-rosetta
Accept the licence when asked. Then confirm that Intel code can run:
arch -x86_64 /usr/bin/true && echo "Rosetta is working"
If you see "Bad CPU type in executable" instead, Rosetta is still missing. Fix that before you go further, because nothing in XAMPP will start without it.
Step 2: Back up and patch the launcher script
The change adds a branch for arm that selects the same runtime the Intel branch would pick. The two-line edit was first written up by Levysoft on Medium. Start with a backup:
cd /Applications/XAMPP/xamppfiles/manager-osx.app/Contents/MacOS
sudo cp installbuilder.sh installbuilder.sh.bak
Open the script in an editor with administrator rights:
sudo nano installbuilder.sh
- Find the line
elif [ "${machine_platform}" == "i386" ];then. - Add the two new lines directly above it (shown below).
- Further down, change
require_admin=0torequire_admin=1. - Save with Control+O, press Enter, then exit with Control+X.
After the edit, the top of the decision block should read:
if [ "${os_version:0:1}" == "6" ];then
executable="none"
elif [ "${machine_platform}" == "arm" ];then
executable=osx-x86_64
elif [ "${machine_platform}" == "i386" ];then
Why change require_admin as well?
The last lines of the script start the runtime in one of two ways. If the script is not owned by the current user, or if require_admin is 1, it goes through the Application Manager helper, which asks for an administrator password. Otherwise it starts the runtime as you. Setting the value to 1 makes the password prompt unconditional, so the manager always has the rights it needs to start and stop Apache and MySQL, whatever happens to the file's ownership.
Prefer copy and paste?
These two commands make the same edit. Run them once, from the same folder, after the backup. We tested them on a copy of the stock script. If your Mac reports that perl is not found, use the manual edit above.
sudo perl -0pi -e 's/elif \[ "\$\{machine_platform\}" == "i386" \];then/elif [ "\${machine_platform}" == "arm" ];then\n executable=osx-x86_64\nelif [ "\${machine_platform}" == "i386" ];then/' installbuilder.sh
sudo perl -pi -e 's/^require_admin=0$/require_admin=1/' installbuilder.sh
Check the edit
sudo sh -n installbuilder.sh && sudo grep -n -A1 '== "arm"' installbuilder.sh
No syntax error and two printed lines mean the patch is in place. We ran the stock and patched scripts with uname stubbed to report both arm and i386. The stock script exits with the error on arm. The patched script selects osx-x86_64 in both cases.
Step 3: Open the manager and start your servers
open /Applications/XAMPP/xamppfiles/manager-osx.app
Expect a password prompt, then the manager window. Start Apache and MySQL from the server list and load http://localhost/ in a browser. Your sites and databases are exactly as you left them.
If anything goes wrong, put the original script back:
cd /Applications/XAMPP/xamppfiles/manager-osx.app/Contents/MacOS
sudo cp installbuilder.sh.bak installbuilder.sh
Two ways to run XAMPP without editing anything
Launch the manager through Rosetta once
Because the script accepts i386, running it as an Intel process passes the check without any patch:
arch -x86_64 /bin/sh /Applications/XAMPP/xamppfiles/manager-osx.app/Contents/MacOS/installbuilder.sh
This follows from the script logic above and matches the Levysoft report that forcing Intel execution works. You have to repeat it every time, so it suits a quick test more than daily use.
Control the servers from Terminal
XAMPP also ships a control script at /Applications/XAMPP/xamppfiles/xampp, the same one the Apache Friends OS X FAQ uses for its security and backup commands. It does not need the manager at all:
| Command | What it does |
|---|---|
sudo /Applications/XAMPP/xamppfiles/xampp start | Starts all servers |
sudo /Applications/XAMPP/xamppfiles/xampp startapache | Starts Apache only |
sudo /Applications/XAMPP/xamppfiles/xampp startmysql | Starts the database only |
sudo /Applications/XAMPP/xamppfiles/xampp status | Shows what is running |
sudo /Applications/XAMPP/xamppfiles/xampp stop | Stops all servers |
Action names can differ between XAMPP versions. If one is rejected, check the usage text the script prints. Both options in this section still depend on Rosetta from Step 1.
Common problems after the fix
| Symptom | Likely cause | What to do |
|---|---|---|
| The manager still does not open | Rosetta is not installed | Run the check in Step 1 and reinstall Rosetta |
| "The current OS X version is not supported" still appears | The new lines were not saved, or sit below the i386 line | Re-open the script and place them directly above that line |
| nano cannot save the file | The editor was opened without sudo | Close it and run sudo nano installbuilder.sh |
| The manager opens but servers will not start or stop | require_admin is still 0 | Set it to 1 and reopen the manager |
| Apache or MySQL fails to start with an error | Usually unrelated to the patch, for example a port already in use | Read the log: tail -2 /Applications/XAMPP/logs/error_log |
| The script shows a syntax error | A typing mistake in the edit | Restore the backup and repeat Step 2 |
How long will this fix last?
Until you upgrade to macOS 28. Apple's support article says Rosetta is available on macOS 27 or earlier, and that from macOS 28 it will only support certain older, unmaintained games. The release notes put it more bluntly: all Intel-based software stops being compatible with macOS 28.0, excluding legacy games.
Three checks tell you where your own setup stands:
- Ask macOS. According to the release notes, Settings, General on macOS 27 lists the Intel-based apps that will be incompatible with macOS 28.
- Ask the binary. Run
file /Applications/XAMPP/xamppfiles/bin/httpd. If the output lists x86_64 and no arm64, Apache itself depends on Rosetta, not only the manager. - Check for a newer XAMPP. As of October 2026 the Apache Friends download page still lists 8.2.4, with PHP 8.2.4, as the newest version for OS X.
There is a second clock running. The PHP 8.2 branch reaches the end of security support on 31 December 2026, according to the PHP supported versions page. A local stack that cannot move past PHP 8.2 will drift further from what your production servers run.
| Option | What it is | Good fit when |
|---|---|---|
| Patched XAMPP on macOS 27 | The fix in this guide | You need to keep working today and can delay the macOS 28 upgrade |
| Homebrew packages | Apache or Nginx, PHP and MariaDB installed natively for Apple silicon | You want the closest thing to XAMPP and are comfortable managing services yourself |
| A Docker-based stack such as DDEV | Per-project Linux containers with the PHP and database versions you choose | You maintain several sites and want local to match production |
For LMS work, containers are worth a serious look. A Moodle site and a WordPress LMS often need different PHP and database versions, and a per-project stack lets you pin each one. It also means the settings you tune locally, such as the OPcache values in our Moodle performance tuning checklist, behave the same way on the server.
Whichever route you take, export your databases from phpMyAdmin and copy htdocs before you upgrade macOS again. Those two things are your work. The rest of XAMPP can be replaced.
How we can help
We build and maintain Moodle, WordPress LMS and custom PHP learning platforms. If your team is moving off XAMPP, or a platform upgrade is blocked by an old PHP version, our LMS development and LMS maintenance and support teams can take it on. Tell us what you are running and we will suggest a sensible next step.
Frequently asked questions
Does XAMPP work on macOS 27 Golden Gate?
Yes, on Apple silicon it works once Rosetta is reinstalled and the manager's launcher script is patched to accept the arm processor type. Apache, MySQL and PHP can also be started from Terminal with the xampp control script, without the manager.
Why does XAMPP say "The current OS X version is not supported"?
The message comes from installbuilder.sh inside manager-osx.app. The script checks the output of uname -p and only has a branch for i386. On macOS 27 it runs natively on Apple silicon, gets arm, finds no matching runtime and exits.
Do I need to reinstall XAMPP after upgrading to macOS 27?
No. Reinstalling puts the same launcher script back, so the manager fails in the same way. Your projects in htdocs and your databases are not affected by the problem, and the fix only edits one small script.
Is it safe to edit installbuilder.sh?
The edit adds one branch and changes one value, and you keep a backup copy next to the original. On the install we inspected, the manager bundle has no code signature folder, so there is no signature for the edit to break. Restoring the backup undoes everything.
Will XAMPP run on macOS 28?
Not in its current form. Apple says Intel-based software will no longer be compatible with macOS 28, apart from certain older games, and XAMPP 8.2.4 for macOS runs through Rosetta. Unless an Apple silicon build is released, plan to move to Homebrew packages or a Docker-based stack before that upgrade.
Free 30-minute consultation
Not sure where to start? Talk to an LMS engineer.
Tell us what platform you run and what you need. You’ll get honest, practical advice - even if the answer is that you don’t need us.
Sources & references
- macOS 27 Golden Gate Release Notes - Apple Developer
- Using Intel-based apps on a Mac with Apple silicon - Apple Support
- Download XAMPP - Apache Friends
- XAMPP for OS X: Frequently Asked Questions - Apache Friends
- PHP: Supported Versions - The PHP Group
- XAMPP 8.2.4 on macOS 27: Manager Won't Open on Apple Silicon, Here's How to Fix It - Levysoft (Medium)