2012-03-15 71 views
0

我使用启动脚本安装PHP,normallay我将使用PHPAzure SDK的默认脚本,它安装最新的可用版本,但我绝对需要PHP v5.3.8。用于PHP的Windows Azure启动脚本

所以我写了我自己的安装脚本(这是我使用install-php.cmd代替):

@ECHO ON 

SET PHP_FULL_PATH=%~dp0PHP\v5.3\php-cgi.exe 
SET NEW_PATH=%PATH%;%RoleRoot%\base\x86 

%WINDIR%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi /+"[fullPath='%PHP_FULL_PATH%',maxInstances='12',idleTimeout='60000',activityTimeout='3600',requestTimeout='60000',instanceMaxRequests='10000',protocol='NamedPipe',flushNamedPipe='False']" /commit:apphost 
%WINDIR%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi /+"[fullPath='%PHP_FULL_PATH%'].environmentVariables.[name='PATH',value='%NEW_PATH%']" /commit:apphost 
%WINDIR%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi /+"[fullPath='%PHP_FULL_PATH%'].environmentVariables.[name='PHP_FCGI_MAX_REQUESTS',value='10000']" /commit:apphost 
%WINDIR%\system32\inetsrv\appcmd.exe set config -section:system.webServer/handlers /+"[name='PHP',path='*.php',verb='GET,HEAD,POST',modules='FastCgiModule',scriptProcessor='%PHP_FULL_PATH%',resourceType='Either',requireAccess='Script']" /commit:apphost 
%WINDIR%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi /"[fullPath='%PHP_FULL_PATH%'].queueLength:50000" 

的问题是,我不是很熟悉书写启动脚本。

我现在遇到这样的问题,即在部署包之后,PHP处理程序路径是完全错误的,它始终指向我本地开发机器上某处的临时构建路径,而不是采用相对于最近批准的路径。

也许你可以帮我用正确的参数配置这个脚本?

到我的自定义PHP安装正确的路径是:

为approot /斌/ PHP/V5.3 /名为php-cgi.exe

回答

0

我发现这个问题:我用实验不同的PHP版本通过使用IIS PHP管理器来切换它们。

我的版本控制现在显示我的Web.config文件进行了修改:

<handlers> 
    <remove name="PHP" /> 
    <add name="PHP" path="*.php" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="C:\myproject\WebRole\bin\PHP\v5.3\php-cgi.exe" resourceType="Either" requireAccess="Script" /> 
</handlers> 

的PHP经理增强这些行。 但很高兴知道这个选项。

+0

标记为正确答案 – 2012-12-12 01:29:04

0

This tutorial向您展示了如何手动设置Azure PHP环境。您可以选择要下载和安装的PHP版本。更多教程可能会帮助你can be found here

+0

Thx为链接。但是在本教程中,他们只展示了如何在本地进行设置,但我需要一种自动化的方式在角色实例上安装自定义PHP版本。 – ownking 2012-03-19 13:48:23

+0

您可以将自定义PHP配置打包到Azure包中。然后,Azure会在VM上安装时使用您的自定义配置 – NGhinazz 2012-03-20 17:04:37