today I tried to update my php for laravel but xampp only goes up to 8.2 and laravel 13 needs 8.3 atleaste. so this is how I updated my xampp

XAMPP PHP Upgrade Checklist (8.2 -> 8.3)

This checklist is based on a working upgrade on this machine.

1) Stop services

  1. Stop Apache from XAMPP Control Panel.
  2. Make sure no php.exe or httpd.exe processes are left running.

2) Backup current PHP

  1. Keep a backup of the existing PHP folder.
  2. Example: rename php to php-8.2-backup (or create a copy).

3) Download the correct PHP package

  1. Download PHP 8.3 for Windows:
  2. Architecture: x64
  3. Build type: Thread Safe (TS)
  4. Compiler: VS16
  5. Format: ZIP binary package

Important: do not use the PHP source code archive for XAMPP runtime.

4) Extract runtime to php8.3

  1. Extract ZIP to F:\apachefriends\xamp8.3\php8.3.
  2. Verify these files exist:
  3. php8.3\php.exe
  4. php8.3\php8ts.dll
  5. php8.3\php8apache2_4.dll
  6. php8.3\ext\

5) Copy and adapt php.ini

  1. Copy current php\php.ini to php8.3\php.ini.
  2. Update hardcoded paths from ...\php\ to ...\php8.3\.
  3. Confirm at least these directives point to php8.3:
  4. extension_dir
  5. error_log
  6. browscap
  7. include_path

6) Update Apache PHP wiring

Edit apache\conf\extra\httpd-xampp.conf:

  1. SetEnv MIBDIRS -> .../php8.3/extras/mibs
  2. SetEnv PHP_PEAR_SYSCONF_DIR -> \\xampp\\php8.3
  3. SetEnv PHPRC -> \\xampp\\php8.3
  4. LoadFile entries -> from .../php/... to .../php8.3/...
  5. LoadModule php_module -> .../php8.3/php8apache2_4.dll
  6. PHPINIDir -> .../php8.3
  7. ScriptAlias /php-cgi/ and corresponding <Directory> -> .../php8.3/

7) Update XAMPP scripts/config

Update these files to use php8.3 paths:

  1. xampp_shell.bat
  2. properties.ini
  3. setup_xampp.bat
  4. test_php.bat
  5. install\portcheck.bat

8) Ensure required support files/folders exist

Under php8.3, ensure:

  1. extras\
  2. extras\mibs\
  3. extras\browscap.ini
  4. logs\

If missing, copy from old php folder or create empty placeholders where needed.

9) Validate before restart

Run from F:\apachefriends\xamp8.3:

php8.3\php.exe -v
php8.3\php.exe --ini
apache\bin\httpd.exe -t

Expected:

  1. PHP reports 8.3.x
  2. Loaded Configuration File points to php8.3\php.ini
  3. Apache returns Syntax OK

10) Start Apache and verify in browser

  1. Start Apache from XAMPP Control Panel.
  2. Open http://localhost/dashboard/phpinfo.php (or any phpinfo page).
  3. Confirm PHP version is 8.3.x.

Rollback plan

  1. Stop Apache.
  2. Restore previous PHP folder/config references.
  3. Re-run apache\bin\httpd.exe -t.
  4. Start Apache again.