Today I put some time aside to work through the various tutorials recommended by the PHP on Azure contest team.
The tutorials I used:
Getting the PHP Windows Azure Prerequisites
Deploying Your First PHP Application with the Windows Azure Command Line Tools for PHP
Deploying Your First PHP Application to Windows Azure
Cover the following steps:
1) Sign up for a Windows Azure Free account. http://tinyurl.com/freeazureaccount
2) Install the Azure PHP SDK using the web platform installer.
3) Install the Azure PHP command line tools from codeplex.
4) Deploy a test page to the local development cloud.
5) Deploy the test page to Windows Azure.
I worked through the tutorials with relative ease and managed to produce the following screen shot at the end:
A summary of the Good and bad points:
Good
The Web platform installer is made of awesome. It is like a visual version of aptitude for the windows platform. It manages all the dependencies required to install a set of tools. When I needed to install the Windows Azure PHP tools it also took care of all the IIS configuration, downloading and installing PHP and installing SQL server. It did this quickly and flawlessly.
The Windows Azure command line tools for PHP are also very good. Packaging an existing application or a new application is achieved with a few lines on the command line.
The Bad
The free Windows Azure package comes with a tiny 25 hours of run time (per month) before you start paying for the service. When you compare this to Amazons Free Tier which comes with enough hours to run an instance continuously for a month you are left feeling short changed. I think Microsoft need to expand their free usage to this level before developers will consider testing PHP on Azure over other Linux based cloud providers.
Some screens on the Azure control panel where quite suseptable to time outs.
Deploying a one page application did take some time (roughly 15 min of various ‘loading’ screens).
Things I Need To Research
The deployment process packages up all the files needed to run your application into a deployment. The deployment is then uploaded to Azure and you can install it on staging then move it into production. This is all very well when creating a test application with one page. However my real application will utilize Zend Framework and Doctrine. I don’t want to upload these to Azure every time I deploy. There must be some way to set up the libraries on Azure so I can just upload application files.
My application will likely utilise tools like memchache and PHPeanstalk. I need to investigate support for these tools on Azure. In the instance that they aren’t supported (particularly likely in the case of memcache) I need to look at integrating an Azure instance with some linux ones.
Tags: Final Project, PHP, PHPAzure

Hi Ben,
Instead of memcached, you should look into AppFabric caching. http://www.microsoft.com/windowsazure/appfabric/overview/default.aspx#top
Some pointers
- Free tier: too abd they don’t have it, but I know it’s in high demand so *maybe* something similar will come…
- Deploying takes long, because a new virtual machine is installed and created for you on deployment.
- Deployment size: I’m working on a way of making this less painful, but not sure when I’ll release it. As a side note: you can upload your app and the Azure SDK to your Azure instance, and download all other stuff from your storage account to the virtual machine. Not officially supported and you have to ensure you check your prerequisites during app start, but it works.
- Caching: see Greg’s suggestion. No PHP tooling there yet, but something I’m proposing the MS guys…