Guide · Last updated: October 2026
XAMPP for Windows stops at PHP 8.2, and PHP 8.2 stops getting security fixes at the end of 2026. Here is what you can actually do about it: upgrade PHP inside XAMPP by hand, move to something that ships newer PHP, or run old and new side by side.
You can swap a newer PHP into XAMPP yourself, and for a single project that can be fine. If you need more than one PHP version, or you'd rather not maintain the swap, it is probably time to look at something else.
The XAMPP downloads for Windows are 8.0.30, 8.1.25 and 8.2.12, all published on 21 November 2023. The newest one bundles Apache 2.4.58, MariaDB 10.4.32, PHP 8.2.12 and phpMyAdmin 5.2.1. Nothing newer has been released since.
That matters more every month, because of where those versions are in their lives:
None of this means XAMPP stops working. It means new frameworks and packages will increasingly require a PHP version it doesn't ship, and the versions it does ship won't get security fixes.
It can be done. Roughly:
xampp\php folder.xampp\php with the new files.xampp\apache\conf\extra\httpd-xampp.conf, make sure LoadModule points at php8apache2_4.dll in the new folder.php.ini from php.ini-development and copy across the settings and extensions you had.What usually goes wrong is Apache refusing to start. The common causes:
php8apache2_4.dll doesn't exist.LoadModule path doesn't match the file name or folder. Apache's own log, xampp\apache\logs\error.log, usually says which one it is.
There is also a catch that has nothing to do with errors: this replaces PHP 8.2 rather than adding to it. XAMPP runs one PHP version at a time, so any older project that needs 8.2 either comes along to 8.5 or needs a second copy of XAMPP.
bin\php folder and switch to it from the menu. One version is active at a time. Free for non-commercial use only; client work needs a paid licence.For pricing, licensing and how each one handles PHP versions in more detail, see the full comparison of local PHP environments for Windows, or why I moved on from XAMPP.
The usual reason people stay on XAMPP longer than they'd like is the old projects. One client site still needs PHP 8.2 (or 7.4), and the new project needs 8.5.
That's the problem I built ForgeKit for. Each PHP version runs in its own web server, and each site is attached to the one it needs, so the 8.2 site and the 8.5 site both keep running. Nothing is switched globally.
If you want to see how running several versions works underneath, without ForgeKit, this guide walks through it with plain Apache and Nginx.
No. The newest XAMPP for Windows (8.2.12, published November 2023) ships PHP 8.2.12. There is no official XAMPP build with PHP 8.3, 8.4 or 8.5.
Yes. Replace the xampp\php folder with the x64 Thread Safe build from php.net and point the LoadModule line in httpd-xampp.conf at php8apache2_4.dll. It replaces PHP 8.2 rather than adding to it, and Apache won't start if you use the Non Thread Safe build or the Visual C++ runtimes don't match.
On 31 December 2026, according to php.net. After that, every PHP version XAMPP ships is past its end of life.
There has been no announcement. PHP 8.6 is due on 19 November 2026, and XAMPP's last release was in November 2023.
Not inside one XAMPP. You need separate web servers, each with its own PHP version. ForgeKit runs them side by side from one app, with each site attached to the version it needs.
ForgeKit is a free, native Windows environment that runs several PHP versions side by side, each site on the one it needs, with every config and log visible.