0

スタートアップ スクリプトを使用して PHP をインストールします。通常は、利用可能な最新バージョンをインストールする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 ハンドラー パスが完全に間違っているという問題があります。最近の approot からの相対パスではなく、ローカル開発マシンのどこかの一時的なビルド パスを常に指しています。

正しいパラメータを使用してこのスクリプトを構成するのを手伝ってもらえないでしょうか?

カスタム PHP インストールへの正しいパスは次のとおりです。

approot/bin/PHP/v5.3/php-cgi.exe

4

3 に答える 3

0

Windows Azure で独自のカスタム PHP インストールを利用する場合は、次の AzurePHP Web サイトで入手できる「カスタム PHP インストールの使用」チュートリアルを参照してください。

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

カスタム PHP インストールを実行するための詳細な手順がリストされています。

于 2012-03-21T06:11:14.013 に答える
0

問題が見つかりました。IIS PHP Manager を使用して切り替えて、さまざまな 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 マネージャーは、これらの行を強化しました。ただし、このオプションについて知っておくとよいでしょう。

于 2012-03-15T16:40:08.667 に答える
0

このチュートリアルでは、Azure PHP 環境を手動でセットアップする方法を示します。ダウンロードしてインストールする PHP のバージョンを選択できます。役立つ可能性のあるその他のチュートリアルについては、こちらを参照してください。

于 2012-03-15T16:40:27.610 に答える