windows azure php tips

17
Windows Azure で PHP でで でででででででで Tips でででで2011/05/28 浅浅 浅浅 http://www.asami.asia/ Copyright 2011 Kuniteru Asami 1

Upload: microsoft-openness-japan

Post on 28-May-2015

424 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Windows Azure PHP Tips

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

よう!

2011/05/28浅見 城輝

http://www.asami.asia/

Copyright 2011 Kuniteru Asami 1

Page 2: Windows Azure PHP Tips

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

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

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

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

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

Speaker

Page 3: Windows Azure PHP Tips

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

Agenda

Copyright 2011 Kuniteru Asami 3

Page 4: Windows Azure PHP Tips

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

Page 5: Windows Azure PHP Tips

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

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

Copyright 2011 Kuniteru Asami 5

Windows Azure Companion

Page 6: Windows Azure PHP Tips

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

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

Windows Azure Companion (2)

Copyright 2011 Kuniteru Asami 6

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

Page 7: Windows Azure PHP Tips

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

Page 8: Windows Azure PHP Tips

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 新しい場合はコピーする )

Page 9: Windows Azure PHP Tips

古い (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

Page 10: Windows Azure PHP Tips

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

Page 11: Windows Azure PHP Tips

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

Page 12: Windows Azure PHP Tips

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

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

Page 13: Windows Azure PHP Tips

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

Page 14: Windows Azure PHP Tips

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

Page 15: Windows Azure PHP Tips

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 参考サイト

Page 16: Windows Azure PHP Tips

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

Copyright 2011 Kuniteru Asami 16

Windows Maniax

Page 17: Windows Azure PHP Tips

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

http://r.jazug.jp