Posted on 2010-10-26 11:34
PHP博客 阅读(143)
评论(0) 编辑 收藏 引用 网摘
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云端,是不是非常简单呢?