Azure是一个开放而灵活的平台。您可以选择最适合或者最擅长的语言(包括 ASP.NET、PHP、Node.js、Python 和经典 ASP)创建基于Azure网站的应用程序。在随后的几篇文章中,我们将讨论Azure网站上的PHP。

首先,我们讨论Azure网站上PHP的架构。

下图描述了Windows Azure网站上PHP的架构。该架构与本地IIS上的PHP配置并无不同。

php-arch

PHP请求的处理流程如下:
1. 客户端HTTP请求到达HTTP.SYS(处理HTTP请求的内核模块)
2. HTTP请求被转发到网站的工作进程W3WP.EXE
3. IIS FASTCGI模块负责处理PHP请求。
4. 根据具体情况,FASTCGI模块启动一个新的PHP-CGI.EXE,然后将请求转发到新的PHP-CGI.EXE;或者将请求转发到一个现有的PHP-CGI.EXE。FASTCGI与PHP-CGI.EXE之间的通信采用命名管道。
5. PHP-CGI.EXE处理PHP请求,将结果返回给FASTCGI模块
6. 最终响应通过HTTP.SYS发回客户端。

在Azure网站上部署PHP时,您需要注意下面的事项:
1. Azure网站默认启用PHP,如果不需要PHP可以通过管理门户网站关闭PHP功能。
2. Azure网站不允许客户修改PHP的系统级别设置。
3. Azure网站目前支持PHP 5.3,5.4,5.5版本,我们会在后续的文章中讨论如何配置其它版本。
4. Azure网站目前只支持32位PHP。在管理门户网站将网站设置为64位模式,只是将W3WP.EXE设置为64位。PHP-CGI.exe仍然是32位。
5. PHP-CGI.EXE的实例数目由FASTCGI模块根据负载和机器资源情况自动决定。

下一篇文章我们将讨论如何配置Azure网站上的PHP。

Leave a comment

电子邮件地址不会被公开。 必填项已用*标注