2012-03-15 1 views
0

Я использую сценарий запуска для установки PHP, normallay Я бы использовал сценарий по умолчанию для PHPAzure SDK, который устанавливает новейшую доступную версию, но мне нужен абсолютно PHP v5.3.8.Скрипт запуска Windows Azure для PHP

Поэтому я написал свой собственный скрипт установки (который я использую вместо установки-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 Manager для их переключения.

Моя версия управления в настоящее время показало, что мой 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

отметьте как правильный ответ –

0

This tutorial показывает, как настроить среду Azure PHP вручную. Вы можете выбрать версию PHP, которую хотите загрузить и установить. Дополнительные руководства, которые могут вам помочь can be found here.

+0

Thx для ссылки. Но в этом уроке они показывают только, как настроить его локально, но мне нужен автоматический способ установки пользовательской версии PHP на экземпляр роли. – ownking

+0

Вы можете упаковать свою собственную конфигурацию PHP в пакет Azure. Затем Azure будет использовать вашу настраиваемую конфигурацию при установке на виртуальную машину – NGhinazz

0

Если вы хотите использовать свой собственный пользовательский PHP установить на Windows Azure вы должны смотреть на «Использование выборочной установки PHP» учебник можно найти на сайте AzurePHP по адресу:

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

Это перечисляет подробные шаги по выполнению пользовательской установки PHP