1.首先,我们下载非线程安全的最新版PHP.

笔者下载的是VC9 x86 Non Thread Safe (2010-Mar-04 20:11:07)版本。在下载页的侧边栏,我们可以看到VC6和VC9版本的差别,VC6版是用Visual Studio 6编译器编译的,而VC9版本是Visual Studio 2008编译器编译的,性能和稳定性都有提高。

至于线程安全与非线程安全的区别在于Windows 操作系统采用多线程架构,而Linux和Unix采用多进程架构。具体请参看这里和这里。

2.打开Visual Studio,新建项目->Visual C#->Cloud->Windows Azure Cloud Service。输入项目名称CloudService1,之后点击OK。

 

添加CGI_Web Role,重命名为PHP_WebCgiRole。点击ok。

 

3.在PHP_WebCgiRole项目内,新建目录,命名为php。将第一步下载的PHP解压至该目录。如下图:

 

4. 在PHP_WebCgiRole项目内新建文件,命名为index.php。

 

在index.php写入如下代码:

<?php     

phpinfo();

?>

5.打开PHP_WebCgiRole项目内Web.roleConfig,将内容修改为下图:

6.打开PHP_WebCgiRole项目内Web.config,为应用程序配置默认页面。定位到system.webServer,在最后加入如下粗体代码:

<system.webServer>

  ...

  <modules>

    ...

  </modules>

  <handlers>

    ...

  </handlers>

  <defaultDocumentenabled="true">

    <files>

      <addvalue="index.php" />

    </files>

  </defaultDocument>

</system.webServer>

7. 配置FastCGI Handler。在刚加入代码的上方,将内容修改如下图:

 

验证:

8.此时按下F5,调试程序。我们有可能会看到如下错误。因为我们会在本地模拟Windows Azure环境,需使用本地IIS。而我们还可能没有为IIS设置好FastCGI模块。(另,此程序已经可直接部署至Windows Azure,并可运行)。

 

打开我的电脑,添加删除程序,打开或关闭Windows 功能, 在Internet Information Services下,勾选CGI选项,如下图:

 

8.此时按下F5,调试程序。我们有可能会看到如下错误。因为我们会在本地模拟Windows Azure环境,需使用本地IIS。而我们还可能没有为IIS设置好FastCGI模块。(另,此程序已经可直接部署至Windows Azure,并可运行重新按F5,调试,我们会看到在浏览器中如下内容:

我们看到我们的PHP版本号是5.3.2。
)。

 

按Shift+F5 退出调试。右击CloudService1项目,Publish ,选择Create Service Package Only。

 

我们将2个部署文件部署至Windows Azure 云端之后(具体部署过程请参看这里),通过网址访问 ,便能看到如下内容:

 

可以看到PHP程序已经成功的运行在了Windows Azure云端,是不是非常简单呢?


只有注册用户登录后才能发表评论。
网站导航:

posts - 139, comments - 0, trackbacks - 0, articles - 0

Copyright © PHP博客