适用于PHP的Windows Azure启动脚本

时间:2012-03-15 11:32:07

标签: php azure startupscript

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

所以我编写了自己的安装脚本(我用它来代替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 / bin中/ PHP / V5.3 / PHP-cgi.exe文件

3 个答案:

答案 0 :(得分:0)

我发现了问题:我正在尝试使用IIS PHP管理器来切换它们来尝试不同的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管理器增强了这些线条。 但是,了解这个选项很好。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

如果您希望在Windows Azure上使用自己的自定义PHP安装,您应该查看AzurePHP网站上提供的“使用自定义PHP安装”教程:

http://azurephp.interoperabilitybridges.com/articles/using-a-custom-php-installation

它列出了完成自定义PHP安装的详细步骤