2012-03-15 70 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