Windows Azure PHP Tips

Post on 28-May-2015

422 views 1 download

Transcript of Windows Azure PHP Tips

Windows Azure で PHP アプリを動かすための Tips を得

よう!

2011/05/28浅見 城輝

http://www.asami.asia/

Copyright 2011 Kuniteru Asami 1

浅見 城輝個人事業主 ( 2006 年 8 月に独立)http://www.asami.asia/

Windows Azure 導入支援◦ LAMP から Windows Azure への移行

データベース関連サービス◦ パフォーマンスチューニングが得意

サーバー構築 Web アプリケーション開発 インストールマニアックス 2008 ドキュメント賞 元々は UNIX/Linux+Oracle な人

実は Windows のテクノロジはあまり知らないCopyright 2011 Kuniteru Asami 2

Speaker

PHP on Azure な開発環境を作るツール Azure で便利な PHP 用 API

Agenda

Copyright 2011 Kuniteru Asami 3

Windows Azure Companion WebPi Command Line Microsoft Visual Web Developer Eclipse PDT (windowsazure4e) CSPack & CSRun Command Line Tool Windows Azure Command-line Tools for PHP

PHP on Azure な 開発・デプロイ環境を作るツール

Copyright 2011 Kuniteru Asami 4

http://archive.msdn.microsoft.com/azurecompanion

省 略さっき「できる! Windows Azure Companion 」で聞いたでしょ ?

Copyright 2011 Kuniteru Asami 5

Windows Azure Companion

と言いつつ少しだけ… ProductListXmlFeed を自前で用意することで、

他のアプリケーションもインストールすることができます。

Windows Azure Companion (2)

Copyright 2011 Kuniteru Asami 6

http://www.asami.asia/WindowsAzureCompanionFeed.xml

http://blogs.iis.net/satishl/archive/2011/01/26/webpi-command-line.aspx

Web Platform Installer のコマンドライン版です。 Startup Task で Windows Azure 上に PHP を

簡単にインストールできます。◦ 標準では細かいバージョンの選択はできません。

5.3/5.2 が選択可能です。 5.3.x/5.2.x は選択不可です。

WebPi Command Line

Copyright 2011 Kuniteru Asami 7

Copyright 2011 Kuniteru Asami 8

WebPi Command Line (2)

md "%~dp0appdata"reg add "hku\.default\software\microsoft\windows\currentversion\explorer\user shell folders" /v ^ "Local AppData" /t REG_EXPAND_SZ /d "%~dp0appdata" /f"%~dp0webpicmdline.exe" /AcceptEula /Products:PHP53 >>log.txt 2>>err.txtreg add "hku\.default\software\microsoft\windows\currentversion\explorer\user shell folders" /v ^ "Local AppData" /t REG_EXPAND_SZ /d %%USERPROFILE%%\AppData\Local /f

<?xml version="1.0" encoding="utf-8"?><ServiceDefinition name="ProjectName" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition"> : <WebRole> : <Startup> <Task commandLine="startup.cmd" executionContext="elevated" taskType="simple" /> </Startup> </WebRole></ServiceDefinition>

ServiceDefinition.csdef

startup.cmd ( 出力ディレクトリ:常にコピーする or 新しい場合はコピーする )

古い (Azure SDK 1.2 以前の ) ドキュメントの手順では Azure 上でPHP が利用できるようになりません。

以下のサイトが参考になります。◦ http://blogs.gine.jp/kusa/archives/1407◦ http://blogs.gine.jp/taka/archives/1978

Microsoft Visual Web Developer

Copyright 2011 Kuniteru Asami 9

http://www.windowsazure4e.org/ 添付されている Windows Azure SDK for PHP や

PHP contributions(php_azure.dll) のバージョンが古いことがあります。 リモートデスクトップの設定など、 GUI で対応していない機能があります。

Eclipse PDT (windowsazure4e)

Copyright 2011 Kuniteru Asami 10

参考 ) http://download.microsoft.com/download/E/C/7/EC727343-C72D-4F95-B96B-8FAAC3FB675A/3_eclipse.pdf

CSPack( パッケージ作成 ) :http://msdn.microsoft.com/en-us/library/gg432988.aspxCSRun( エミュレータ実行 ):http://msdn.microsoft.com/en-us/library/gg433001.aspx

Windows Azure SDK に標準添付されています。 コマンドプロンプトで、

デプロイパッケージの作成や開発ファブリックでの実行ができます。

ServiceConfiguration.cscfg, ServiceDefinition.csdefを、自分で作成する必要があります。

CSPack & CSRun Command-Line Tool

Copyright 2011 Kuniteru Asami 11

rem コンピュートエミュレータ用パッケージの作成cspack ServiceDefinition.csdef /copyonly /out:SamplePackage.csx /sitePhysicalDirectories:WebRole;Web;wwwroot /role:WebRole;wwwrootrem コンピュートエミュレータで実行csrun SamplePackage.csx ServiceConfiguration.cscfg /launchbrowserrem コンピュートエミュレータを停止し削除csrun.exe /removeall

コンピュートエミュレータ ( 開発環境 ) での実行例

cspack ServiceDefinition.csdef /sitePhysicalDirectories:WebRole;Web;wwwroot /role:WebRole;wwwroot

デプロイ用パッケージの作成例

参考 ) http://download.microsoft.com/download/E/C/7/EC727343-C72D-4F95-B96B-8FAAC3FB675A/4_cui.pdf

http://azurephptools.codeplex.com/ php コマンドを利用してコマンドプロンプトで、

デプロイパッケージの作成や開発ファブリックでの実行ができます。

ServiceConfiguration.cscfg, ServiceDefinition.csdef は、用意されているテンプレートから作成されます。◦ 細かい変更をコマンドライン引数で指定できます。

Windows Azure Command-line Tools for PHP

Copyright 2011 Kuniteru Asami 12

php package.php ^ --project=MyProject ^ --source=..\php_source\ ^ --phpRuntime="C:\Program Files\PHP\" ^ --target=..\workspace\

デプロイパッケージ作成例php package.php ^ --project=MyProject ^ --source=..\php_source\ ^ --phpRuntime="C:\Program Files\PHP\" ^ --runDevFabric ^ --cleanRebuild

コンピュートエミュレータ ( 開発環境 ) での実行例

Windows Azure SDK for PHP Windows Azure - PHP contributions OData SDK for PHP AppFabric SDK for PHP Developers

Azure で便利な PHP 用 API

Copyright 2011 Kuniteru Asami 13

http://phpazure.codeplex.com/PHP から Windows Azure Platform 特有の機能などを利用することができます。 Azure Storage(Blob, Table, Queue) へのアク

セス PHP セッション管理 Azure サービス管理 障害や性能などのモニタリングや診断

Copyright 2011 Kuniteru Asami 14

Windows Azure SDK for PHP

Japan Windows Azure User Group

PHP on Windows Azurehttp://r.jazug.jp/wiki/tech/php

Microsoft

使える Windows Azurehttp://www.microsoft.com/japan/windowsazure/campaign/mobile/chapter.aspx

Copyright 2011 Kuniteru Asami 15

PHP on Windows Azure 参考サイト

http://www.windows-maniax.com/

Copyright 2011 Kuniteru Asami 16

Windows Maniax

Azure ユーザー会にご参加ください

http://r.jazug.jp