科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网CIO与应用频道在Windows Azure中如何配置使用PHP

在Windows Azure中如何配置使用PHP

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

不用着急,在本篇中,流牛木马将会演示在Azure中使用PHP的最详细流程。比如现在php版本的最新版本是2009年3月10日的5.2.9-1,下载地址:http://cn2.php.net/get/php-5.2.9-1-Win32.zip/from/a/mirror  第四步,新建Web Cloud Service项目。

来源:互联网 2010年8月5日

关键字: Windows

  • 评论
  • 分享微博
  • 分享邮件

  PHP也许是当前web开发界最最流行的语言,所以“在Azure中使用PHP”这个问题引起了很多人的关注,提及Azure支持"FastCGI”的新闻报道很多,而却几乎没有提及具体怎样在Azure里配置使用PHP,本文将会演示在.....

  在微软MIX09大会上,Windows Azure发布了它的第3个版本——Match 2009 CTP。从这个版本开始,Windows Azure开始支持FastCGI。支持FastCGI也就是意味着支持PHP、Ruby、Python等当前流行的"非微软"web应用程序。我们很欣喜地看到Azure Services Platform迈出了“开放平台”的第一步。

  PHP也许是当前web开发界最最流行的语言,所以“在Azure中使用PHP”这个问题引起了很多人的关注,提及Azure支持"FastCGI”的新闻报道很多,而却几乎没有提及具体怎样在Azure里配置使用PHP。就连在新版的Azure SDK里面,关于FastCGI的sample也不是使用php的。

  不用着急,在本篇中,流牛木马将会演示在Azure中使用PHP的最详细流程。

  (已部署到云端的Demo: http://ibm.cloudapp.net/php.php)

  第一步,你必须知道的一些有关PHP&FastCGI的基本知识。

  FastCGI的官方网站:http://www.fastcgi.com/

  PHP的FastCGI模式:http://www.blogme.cn/node/6529

  第二步,启用你IIS7中的FastCGI模块。

  【注:本地调试环境需要。如果你打算直接部署到Cloud上,则不需要这一步。】

  (下面以Vista Ultimate中文版为例:)

  打开控制面板,进入”打开或关闭Windows 功能”

  启用以下模块(图中红框的部分)

  下载安装最新的FastCGI模块:http://support.microsoft.com/kb/967131

  第三步,下载一个"xcopy-deployable”版本的PHP。

  "xcopy-deployable”这个词来自微软的官方文档,但是很遗憾,在php的官方网站http://php.net/中,我们却没有找到这个词,根据词义理解一下:可以直接拷贝部署的PHP版本。通俗地说就是不需要安装的。

  来到PHP官方网站的下载中心:http://www.php.net/downloads.php,在Windows Binaries部分找到最新版本号的"zip package“就可以了。比如现在php版本的最新版本是2009年3月10日的5.2.9-1,下载地址:http://cn2.php.net/get/php-5.2.9-1-Win32.zip/from/a/mirror

  第四步,新建Web Cloud Service项目。

  第五步,配置Service Definition 文件(ServiceDefinition.csdef)。

<?xml version="1.0" encoding="utf-8"?>

  <ServiceDefinition name="CloudService1"xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition">

<WebRole name="WebRole" enableNativeCodeExecution="true">

<InputEndpoints>

<InputEndpoint name="HttpIn"protocol="http"port="80" />

</InputEndpoints>

</WebRole>

</ServiceDefinition>

  注意:需要在WebRole节点下增加enableNativeCodeExecution="true"属性

  第六步:配置FastCGI和PHP

  将刚刚下载的xcopy-deployable PHP压缩包解压缩到WebRole项目的php子目录下。

在WebRole项目根目录下增加Web.roleconfig文件,内容如下:

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

<system.webServer>

<fastCgi>

<application fullPath="%RoleRoot%\php\php-cgi.exe" />

</fastCgi>

</system.webServer>

</configuration>

  这里我们使用了"%RoleRoot%"变量来获得Web Role的根目录。这也是Match 2009 CTP版本所提供的新特性之一。

  在Web.config文件的system.webServer-handlers节下增加对PHP文件的处理:

<system.webServer>

<handlers>

<..>

  <add name="PHP via FastCGI" path="*.php" verb="*" modules="FastCgiModule"

<  

scriptProcessor="%RoleRoot%\php\php-cgi.exe"

resourceType="Unspecified" />

</handlers>

</system.webServer>

  第七步:写一些简单的代码测试一下吧!

  代码:

<?php

<  

$iipp=$_SERVER["REMOTE_ADDR"];

echo "你的IP地址是".$iipp."<br />"

echo "这是用PHP的echo命令输出的文字。<br />"

echo "<h1><font color='Red'><b>Hello PHP on Azure!</b></font></h1><br />"

echo "<a href='http://azure.cnblogs.com/'>流牛木马的Azure博客</a><br />"

echo "<font color='Blue'>以下是当前PHP环境的系统变量:</font><br />"phpinfo();?>

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章