Azure App Service is a service used to create and deploy scalable, mission-critical web apps.
Web App for Containers: PHP Version Mismatch — Live Site Shows Older PHP Version
Microsoft WordPress on Azure App Service — Managed PHP 8.4 image channel not receiving security updates
Problem description
We identified that our WordPress on Azure App Service installation was running PHP 8.4.16 despite being configured to use Microsoft's managed PHP 8.4 WordPress image.
This became a particular concern following the disclosure of the critical PHP2Shell vulnerabilities on 21 October 2026.
Although Microsoft had published an updated WordPress container containing PHP 8.4.27, the managed :8.4 channel continued to resolve to an image built in January 2026.
We have now successfully deployed the patched version manually, but this has raised concerns about the security-update mechanism for Microsoft's managed WordPress offering.
Environment
- Azure App Service for Linux
- Official Microsoft WordPress on App Service container
- Image:
mcr.microsoft.com/appsvc/wordpress-debian-php - PHP version: 8.4
- No custom Dockerfile or startup command
- Persistent App Service storage enabled
- Azure Database for MySQL Flexible Server
Investigation
The App Service was originally configured with:
docker|mcr.microsoft.com/appsvc/wordpress-debian-php:8.4
However, the Azure container startup logs from 21 October 2026 showed App Service resolving this to:
appsvc/wordpress-debian-php:8.4_20260113.8.tuxprod
The production website returned:
X-Powered-By: PHP/8.4.16
Attempts to pull the floating :8.4 image directly from the public Microsoft Container Registry failed with:
manifest unknown: manifest tagged by "8.4" is not found
This suggests the managed :8.4 channel uses an internal Azure image mapping rather than a publicly accessible mutable Docker tag.
Resolution
We identified and tested the following Microsoft image:
mcr.microsoft.com/appsvc/wordpress-debian-php:8.4_20261021.5.tuxprod
Running the image locally confirmed:
PHP 8.4.27 (cli) (built: Oct 21 2026 14:18:04)
We then explicitly changed the App Service linuxFxVersion to reference this dated image and restarted the application.
Following the restart, the production website reported:
X-Powered-By: PHP/8.4.27
The immediate PHP version issue is therefore resolved.
Outstanding concern — managed security updates
Microsoft Support confirmed that explicitly pinning a dated image is supported, but doing so disables automatic advancement to subsequent WordPress/PHP container images.
We therefore face two options:
- Remain on the Microsoft-managed
:8.4channel, which was still resolving to an outdated PHP version when we investigated. - Pin to a patched image, taking responsibility for identifying and deploying future security updates ourselves.
Neither is ideal for customers expecting Microsoft-managed security maintenance.
Questions for the Azure WordPress engineering team
- Why was the managed PHP 8.4 channel still resolving to
8.4_20260113.8.tuxprodon 21 October 2026 when newer images were available? - What is Microsoft's expected security-patching schedule for the managed WordPress PHP images, particularly for critical vulnerabilities?
- Is there a supported API, CLI command or published endpoint to determine which dated image the managed
:8.4channel currently resolves to? - Is there a supported notification mechanism when the managed channel advances to a newer image?
- Can Microsoft confirm when the managed
:8.4channel will include PHP 8.4.27 or later, allowing us to return to automatic image updates?
We would prefer to remain on Microsoft's supported, automatically maintained WordPress image channel rather than permanently manage dated image versions ourselves.
The immediate security issue has been addressed, but clarification of the managed update mechanism would be valuable to other WordPress on Azure App Service customers.