Problem: PHP end of life
PHP end of life on your Windows server? Upgrade one site at a time.
Every PHP line stops receiving security fixes a few years after release, and a security scanner or a client will eventually notice. On IIS the upgrade is usually one FastCGI handler for the whole server, so moving to a new PHP moves every website at once, and the first you hear of an incompatible plugin is a white page on the site that matters most. ServerMaid installs PHP lines side by side and lets you pick one per website.
Multiple PHP lines module, £39 £19.50 per server for twelve months, on top of Server setup. 30-day money-back promise.
Why upgrading PHP by hand goes wrong
- Everything moves together. With a single handler mapping, the moment you point IIS at the new PHP folder every site is on it, ready or not.
- The runtime is missing. A newer PHP build often needs a newer Visual C++ runtime. Without it the handler fails with an error code instead of a sentence.
- Hand edits are lost. The php.ini you tuned over the years does not come with the new folder, so limits, time zones and extensions silently return to defaults.
- Extensions in the wrong order. An extension loaded before the one it depends on fails quietly, and a feature stops working days later.
- No way back. Once the old folder is overwritten, undoing the upgrade means reinstalling from memory.
Starting fresh instead? On a new server ServerMaid lets you choose the default PHP line before the build (PHP 8.4 recommended, PHP 8.5 latest, or PHP 8.3 for security fixes only) and installs the newest build of that line, so an older application can start on the line it supports and move when it is ready.
What ServerMaid does
Side by side, one website at a time
Several PHP lines at once
With the Multiple PHP lines module you can run PHP 8.4 and 8.5, or the next line, at the same time. Each is installed the same careful way: an official build from windows.php.net checked against its published SHA-256, the runtime it needs, FastCGI registered with recycling and timeouts.
Pick a line per website
Each website chooses its PHP line. Move the site you are confident about first, leave the one with the fussy plugin where it is, and move it when its vendor catches up.
Try it on staging first
Clone the live site and its database to a staging hostname, hidden from search engines, switch the staging copy to the new PHP and click through it. Nothing on the live site changes until you say so.
Production php.ini, managed
Each line starts from php.ini-production with a managed block of production directives sized for your server. Nothing is edited by hand, so nothing is lost, and each directive is journaled and reversible.
Patch releases handled
PHP patch releases and database updates are managed: the previous version is parked, the new one installed and verified, and rollback puts the old one back if anything fails.
Plain English if it breaks
"PHP cannot start because a Microsoft Visual C++ runtime is missing", with a button to install it, instead of an error code to search for.
Questions about upgrading PHP on Windows
Which PHP versions can I install?
PHP 8.4 (recommended), PHP 8.5 (latest) or PHP 8.3 (security fixes only). ServerMaid installs the newest build of whichever line you choose from windows.php.net. Only releases the feed publishes a fingerprint for are installable; ServerMaid never installs an unverified archive.
Can I choose the PHP line when the server is first built?
Yes. Advanced Setup asks which PHP line should be the server default before the build, with each one explained: PHP 8.4 is recommended because most applications are tested against it, PHP 8.5 is the latest line for code that already supports it, and PHP 8.3 receives security fixes only and suits an older application that is not ready to move. Quick Setup keeps 8.4. Whichever you pick, the newest build of that line is fetched and verified. Later, the Multiple PHP lines module adds the others beside it and each website picks its own.
Can I keep an old site on the old PHP line?
Yes. Lines run side by side and each website picks its own, so an application that is not ready can stay where it is while the rest move. You decide when each site moves.
What happens to the settings I changed in php.ini?
ServerMaid does not read hand-edited files from a previous install; it builds a production php.ini for each line with a managed block of directives. Settings you need are set through ServerMaid so they survive updates and are recorded.
Do I need the extra module for a single PHP version?
No. Server setup installs one PHP line and manages its patch releases. The Multiple PHP lines module is for running two or more lines at once and choosing per website.
Will WordPress work on the new line?
WordPress itself tracks new PHP releases closely; plugins and themes are the usual holdouts. Test the staging copy on the new line and move the live site when it is clean.
Retire the old PHP without a white page
Install the new line beside the old one, test on staging, move sites one by one, roll back if you must. Every step previewed and recorded.