Updated: 在Windows Azure平台上运行PHP应用

参考:http://blogs.msdn.com/b/cciccat/archive/2015/08/19/windows-azure-php.aspx   PHP技术在互联网应用中非常流行,被广泛使用在网站应用、报表管理、脚本任务等场景。Windows Azure作为企业级公有云平台,不仅仅能无缝托管传统的微软开发技术(.Net),对于PHP、Java等业内通用的语言和技术也提供了极好的支持。本文就如何在Windows Azure平台上运行PHP应用总结出一些最佳实践和参考步骤。   一、 选择合适的Windows Azure服务来运行PHP应用 Windows Azure提供不同层次的公有云服务,主要包括IaaS(基础设施即服务:以虚拟机、虚拟网络为代表),PaaS(平台即服务:以网站应用、云服务、数据库为代表)和SaaS(软件即服务:以Office 365,Azure活动目录为代表),其中可以用作托管PHP应用的主要有三类服务: –  虚拟机:用户在Azure中创建虚拟机,自行部署PHP环境并发布PHP应用,实践过程和在本地发布PHP服务一致。 –  网站应用(Web App):Azure后端存在大量已实现好PHP环境的服务器,用户只需将PHP应用代码通过Git、FTP等工具上传到目标服务器即可。 –  云服务(Cloud Service):Azure平台根据用户的设置,实时创建和定制化(一个或多个)虚拟机,自动安装用户指定的PHP环境并加载用户的PHP应用代码,实现PHP网站服务或者后台处理应用。 关于这三种方案的不同点和相同点,可以参见:https://azure.microsoft.com/en-us/documentation/articles/choose-web-site-cloud-service-vm/,总结下来,最突出的特点是: 方案类型 适用场景 优点 缺点 虚拟机 支持LAMP(另外两种场景下网站服务器都是IIS/Windows);PHP应用依赖于手动安装的组件或应用。 用户完全控制,和本地实践一样。   手动部署,效率较低。 网站应用 快速部署,用户不需要更改服务器机器环境,较少自定义配置PHP网站服务器(拓展),默认的PHP环境包(如PHP5.4)可以满足应用需求。 即时部署、迁移、更新,用户不关注服务器环境设置和后台维护。 用户不能访问后台服务器。 需要很多配置工作来使用自定义PHP运行环境或者深度修改后台网站服务器。   云服务 用户需要定制化的服务器环境或运行初始化任务。 平衡部署效率和服务器定制化;支持访问后台服务器;支持同时托管多个网站或应用。 部署效率不及网站应用,服务器可定制化程度不及虚拟机。   这三种方案的形象对比如下图:   二、 在Windows Azure平台上运行PHP应用   1. 本地开发PHP应用 这一部分同传统的PHP应用开发完全一致,若迁移本地已有的PHP应用到Azure,可以跳过这一部分内容。 l   安装PHP运行环境(Apache + PHP +…