PHP 7 RC7 Experimental Availability in Azure Web App

Last week during PHP[World], my team Azure Web App and I released experimental support for PHP7 RC7 on Azure Web App. This is a really exciting announcement as it allows developers to simply set up an environment to test a PHP 7 app. How simple you ask? Really simple as demonstrated by Jose Miguel Parrella in the following video.

Not simple enough? Try clicking this button below to setup a site in your subscription with PHP 7 pre-installed.

x86

x64

Deploy to Azure Deploy to Azure

The functionality is provided by leveraging a Site Extension which hooks into the IIS pipeline using an applicationHost.xdt transform file. This means that there are a few things you need to be aware of including how to change the php.ini settings for the site which can be done in two different ways.

Changing the PHP.ini

The site extension works by downloading the PHP 7 RC7 runtime from the Windows side of PHP.net. This means that you need to track down the install folder to change the PHP.ini directly. This is slightly hidden away due to the Site Extension, but you can find the php.ini in the following directory:

D:\home\SiteExtensions\PHP7Extension\Commands\PHP7x86

Using a Scan Directory for ini

There is another way of providing changes to the PHP.ini without modifying the main php.ini directly, this is to create a PHP_INI_SCAN_DIR App Setting and provide it a path in which you will drop new ini files. I consider this the preferred method of implementing ini changes as the changes can persist in the same Web App after the Site Extension is deleted (when PHP7 is available in a supported capacity on Web App). There are full instructions on how to make this work available on Azure.com under the article Changing PHP_INI_SYSTEM configuration settings.

Happy Coding!