<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>Install Museum</title>
	<atom:link href="http://iis.museum-in-cloud.com/wordpress/feed" rel="self" type="application/rss+xml" />
	<link>http://iis.museum-in-cloud.com/wordpress</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Thu, 31 Dec 2009 03:40:16 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://iis.museum-in-cloud.com/wordpress/feed" />
		<item>
		<title>imgtw</title>
		<link>http://iis.museum-in-cloud.com/wordpress/archives/459</link>
		<comments>http://iis.museum-in-cloud.com/wordpress/archives/459#comments</comments>
		<pubDate>Wed, 30 Dec 2009 12:26:18 +0000</pubDate>
		<dc:creator>kwin</dc:creator>
				<category><![CDATA[SaaS(Software as a Service)]]></category>

		<guid isPermaLink="false">http://iis.museum-in-cloud.com/wordpress/?p=459</guid>
		<description><![CDATA[http://imgtw.cloudapp.net/
Imgtwで下の画像を表示する
]]></description>
			<content:encoded><![CDATA[<p><a href="http://imgtw.cloudapp.net/">http://imgtw.cloudapp.net/</a><br />
<a href="http://imgtw.cloudapp.net/imgtw/?imglink=http://3fqmbq.bay.livefilestore.com/y1phZTtrHiobJ-5-TNTmR2-z4hSsbPOTYx5_MTg_p7TysD_AQK3qKGdww8yW7CRKZhzj65_hqxWD3gj7LSNK3EEbAazQq8dR9h6/imgtw_Info01.jpg">Imgtwで下の画像を表示する</a></p>
<div class="wp-caption alignnone" style="width: 810px"><a href="http://imgtw.cloudapp.net/imgtw/?imglink=http://3fqmbq.bay.livefilestore.com/y1phZTtrHiobJ-5-TNTmR2-z4hSsbPOTYx5_MTg_p7TysD_AQK3qKGdww8yW7CRKZhzj65_hqxWD3gj7LSNK3EEbAazQq8dR9h6/imgtw_Info01.jpg"><img class="  " title="imgtw Info" src="http://3fqmbq.bay.livefilestore.com/y1phZTtrHiobJ-5-TNTmR2-z4hSsbPOTYx5_MTg_p7TysD_AQK3qKGdww8yW7CRKZhzj65_hqxWD3gj7LSNK3EEbAazQq8dR9h6/imgtw_Info01.jpg" alt="imgtw Info" width="800" /></a><p class="wp-caption-text">imgtw Info</p></div>
]]></content:encoded>
			<wfw:commentRss>http://iis.museum-in-cloud.com/wordpress/archives/459/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://iis.museum-in-cloud.com/wordpress/archives/459" />
	</item>
		<item>
		<title>SQL CRUDをSQL Server Driver for PHP 1.1でUTF-8対応する</title>
		<link>http://iis.museum-in-cloud.com/wordpress/archives/452</link>
		<comments>http://iis.museum-in-cloud.com/wordpress/archives/452#comments</comments>
		<pubDate>Fri, 25 Dec 2009 01:24:43 +0000</pubDate>
		<dc:creator>kwin</dc:creator>
				<category><![CDATA[SaaS(Software as a Service)]]></category>

		<guid isPermaLink="false">http://iis.museum-in-cloud.com/wordpress/?p=452</guid>
		<description><![CDATA[CodePlex の　SQL CRUD Application Wizard for PHP を利用することで
SQL Server、 SQL Azure、 Windows Azure Table Storage に対応した
CRUD 機能を持つアプリケーション( Ruby on Rails や Cake PHP の自動作成程度のもの）を自動作成することができます。
 
* 現時点（２００９年１２月末)では生成されるアプリケーションは UTF-8 には対応していないため、一部のPHPスクリプトの修正が必要となります。
*  SQL database（SQL Server 用)で生成される php アプリケーションのUTF-8 対応には
SQL Server Driver for PHP 1.1 &#8211; October 2009 が必要となります。
*  Web Platform Installer でインストールされる SQL Server Driver for PHPのバージョンは1.0 ですので 1.1 [...]]]></description>
			<content:encoded><![CDATA[<p>CodePlex の　<a href="http://sqlcrudphpwizard.codeplex.com/">SQL CRUD Application Wizard for PHP</a> を利用することで<br />
SQL Server、 SQL Azure、 Windows Azure Table Storage に対応した<br />
CRUD 機能を持つアプリケーション( Ruby on Rails や Cake PHP の自動作成程度のもの）を自動作成することができます。</p>
<p><span style="white-space: pre"> </span><img src="http://public.bay.livefilestore.com/y1pCXAM09zOiK-ol_jphrr68eRQmsizVGFmA-itXTh_wgglYthUzssfbYc5rqbODXRqoXagKt2Rdxi6LOTQrEZhTQ/phpcrud03.jpg" border="0" alt="PHP Generator" width="320" /></p>
<p><a href="http://sqlcrudphpwizard.codeplex.com/"></a>* 現時点（２００９年１２月末)では生成されるアプリケーションは UTF-8 には対応していないため、一部のPHPスクリプトの修正が必要となります。</p>
<p>*  SQL database（SQL Server 用)で生成される php アプリケーションのUTF-8 対応には<br />
<a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=ccdf728b-1ea0-48a8-a84a-5052214caad9">SQL Server Driver for PHP 1.1 &#8211; October 2009</a> が必要となります。</p>
<p>*  Web Platform Installer でインストールされる SQL Server Driver for PHPのバージョンは1.0 ですので 1.1 を別途ダウンロードして設定する必要があります。</p>
<p>以下、手順を示します。</p>
<p>1. <a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=ccdf728b-1ea0-48a8-a84a-5052214caad9">SQL Server Driver for PHP 1.1 &#8211; October 2009</a> をダウンロードして得られた dll ファイルを</p>
<p>PHPの拡張フォルダに保存し、 php.ini の extentsion に登録、 IISを再起動( iisreset )します。</p>
<p>例.　バージョン、 nts または ts 版など、自分の環境に適合した dll を選択します。</p>
<p><span style="white-space: pre"> </span>c:\Program Files (x86)\php\ext\<strong>php_sqlsrv_52_nts_vc6.dll</strong></p>
<p><span style="white-space: pre"> </span>c:\Program Files (x86)\php\ph.ini 　に選択した dll を記述します</p>
<p style="background-color: #ffffcc"><span style="white-space: pre"> <span style="color: #000000;"> </span></span><strong><span style="color: #000000;">extension=php_sqlsrv_52_nts_vc6.dll</span></strong></p>
<p>2.  <a href="http://sqlcrudphpwizard.codeplex.com/">SQL CRUD Application Wizard for PHP</a> <a href="http://sqlcrudphpwizard.codeplex.com/">http://sqlcrudphpwizard.codeplex.com/</a> を<br />
インストールし、 PHPSiteGenerator を実行します。<br />
Storage type に SQL database を指定し、データベース、テーブル、カラムを選択し<br />
[ Generate Site ] を実行すると指定したフォルダに PHPアプリケーションが生成されます。</p>
<p>3.  生成された php アプリケーションの UTF-8 対応</p>
<p>生成された php ファイルの一部を修正します。</p>
<p>3.1  <strong>database.php</strong> の connectionoption に CharacterSet を追記</p>
<blockquote style="background-color: #ffffcc; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-style: none; padding: 0px"><p>$connectionoptions = array(&#8221;Database&#8221; =&gt; $database, &#8220;UID&#8221; =&gt; $user, &#8220;PWD&#8221; =&gt; $pass, &#8220;MultipleActiveResultSets&#8221; =&gt; &#8216;0&#8242;,<strong><span style="color: #ff0000;">&#8220;CharacterSet&#8221; =&gt; &#8220;UTF-8&#8243;</span></strong><span style="white-space: pre"> </span>);</p></blockquote>
<p>3.2 <strong> index.php</strong> に head 部分に　charset を追加</p>
<blockquote style="background-color: #ffffcc; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-style: none; padding: 0px"><p>&lt;head&gt;<br />
<span style="color: #ff0000;"><strong>&lt;meta http-equiv=&#8221;content-type&#8221; content=&#8221;text/html; charset=utf-8&#8243; /&gt; </strong></span></p></blockquote>
<p><span style="white-space: pre"> </span>また、 htmlentities　の記述を削除します。</p>
<div>
<blockquote style="background-color: #ffffcc; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-style: none; padding: 0px"><p>//$params = array(<span style="color: #008000;">htmlentities(</span>$_GET["Name"]<span style="color: #008000;">,ENT_COMPAT,&#8217;iso-8859-1&#8242;)</span>, $_GET["ID"]);</p>
<div>$params = array($_GET["Name"], $_GET["ID"]);</div>
</blockquote>
</div>
<div>3.3<strong> Editor.php</strong> についても index.php と同様の編集を行います。</div>
<div>4. 動作確認</div>
<div><span style="white-space: pre"> </span>日本語を使用して更新した内容を SQL Server Management Studio にて文字化けしていないことを確認します。</div>
<div><span style="white-space: pre"> </span><img src="http://public.bay.livefilestore.com/y1pQL81mImzaCsW55slLhky4jWoasUy8LC07V_0GffFimCqRu970KEPY3WYUVKi_SA8qxLBvd-kUATlSXYvJ9Rbsg/phpcrud02.jpg" border="0" alt="" width="302" /></div>
<div><span style="white-space: pre"> </span><img src="http://public.bay.livefilestore.com/y1p4AD5uGoRVz5SdRoeKVSc8EZsTVyb9bl1UW_wtr6_AWTzWxpG9DY6GOG2TjXsZmC3JguRdGXePeqqWP8UXHmv-g/phpcrud01.jpg" border="0" alt="" width="320" /></div>
<div>以上</div>
<div>関連：　<a href="index.php?option=com_content&amp;view=article&amp;id=130:phpsqlsrv52ntsvc6&amp;catid=24:windowsazure&amp;Itemid=136">SQL Server Driver for PHP 1.1 CTP</a></div>
]]></content:encoded>
			<wfw:commentRss>http://iis.museum-in-cloud.com/wordpress/archives/452/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://iis.museum-in-cloud.com/wordpress/archives/452" />
	</item>
		<item>
		<title>IISで Ruby on Railsを使う</title>
		<link>http://iis.museum-in-cloud.com/wordpress/archives/421</link>
		<comments>http://iis.museum-in-cloud.com/wordpress/archives/421#comments</comments>
		<pubDate>Thu, 10 Dec 2009 10:40:13 +0000</pubDate>
		<dc:creator>kwin</dc:creator>
				<category><![CDATA[Windows-Maniax]]></category>

		<guid isPermaLink="false">http://iis.museum-in-cloud.com/wordpress/?p=421</guid>
		<description><![CDATA[FastCgi を利用し、IIS7 上で Ruby on Rails を動かすまでの手順を説明します。


ruby をインストール
http://rubyforge.org/frs/?group_id=167&#38;release_id=6672

Rails をインストール
以下のサイトを参考にインストール
http://wiki.rubyonrails.org/getting-started/installation/windows
  

C:\ruby&#62;path
PATH=c:\ruby\bin; &#8230;.
C:\ruby&#62;gem update&#8211;system
Updating RubyGems&#8230;
RubyGems system software updated
C:\ruby&#62;gem install rails
C:\ruby&#62;rails myapp
C:\ruby&#62;cd myapp
C:\ruby\myapp&#62;ruby script/generate controller home index
C:\ruby\myapp&#62;ruby script/server
コマンドプロプトにてまず、ruby へのパスを確認します。
C:\ruby&#62;path
PATH=c:\ruby\bin; &#8230;.
gem をupdate します。
C:\ruby&#62;gem update &#8211;system
Updating RubyGems&#8230;
Rails のインストールします。
C:\ruby&#62;gem install rails
Rails がインストールできたら、動作確認のため簡単なアプリケーション作成します。
C:\ruby&#62;rails myapp
C:\ruby&#62;cd myapp
C:\ruby\myapp&#62;ruby script/generate controller home index
作成したアプリケーションを実行します。
C:\ruby\myapp&#62;ruby script/server
以下のような画面の表示を確認します。
 

Ruby for IIS ダウンロードしてインストール
参考             http://forums.iis.net/p/1154234/1889560.aspx#1889560

ダウンロード http://ruslany.net/download/RubyForIIS-0.1.exe 
 [...]]]></description>
			<content:encoded><![CDATA[<p>FastCgi を利用し、IIS7 上で Ruby on Rails を動かすまでの手順を説明します。<br />
<span id="more-421"></span></p>
<ol>
<li>ruby をインストール<br />
<a href="http://rubyforge.org/frs/?group_id=167&amp;release_id=6672">http://rubyforge.org/frs/?group_id=167&amp;release_id=6672</a><br />
<a href="http://public.bay.livefilestore.com/y1pcKrdV-K078SH4g7xeenV1tjJ1wJj6ryNjHq1EhEUe4OyKLPGHW3Tqb5Q6ddjAIX8JXPxpVG1UcOUiqg_19AMRA/rubyforger_uby186-26.jpg"><img style="border: 0px initial initial;" src="http://public.bay.livefilestore.com/y1pcKrdV-K078SH4g7xeenV1tjJ1wJj6ryNjHq1EhEUe4OyKLPGHW3Tqb5Q6ddjAIX8JXPxpVG1UcOUiqg_19AMRA/rubyforger_uby186-26.jpg" border="0" alt="" width="320" /></a></li>
<li>Rails をインストール<br />
以下のサイトを参考にインストール<br />
<a href="http://wiki.rubyonrails.org/getting-started/installation/windows">http://wiki.rubyonrails.org/getting-started/installation/windows</a></p>
<p style="line-height: 130%"><span style="white-space: pre"> </span> <a href="http://public.bay.livefilestore.com/y1pABCvehSnlWWx3S-HhGK2QauVAGzFqDBX1R4XcYn4wxMj3xlNZphml_Hfr8UcQtL6l9YErFr6C_KCU0sUQvAjKQ/RailsWikiWindows.jpg"><img style="border: 0px initial initial;" title="Rails W" src="http://public.bay.livefilestore.com/y1pABCvehSnlWWx3S-HhGK2QauVAGzFqDBX1R4XcYn4wxMj3xlNZphml_Hfr8UcQtL6l9YErFr6C_KCU0sUQvAjKQ/RailsWikiWindows.jpg" border="0" alt="Rails Wiki" width="320" /></a></p>
<p style="line-height: 130%">
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1308px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">C:\ruby&gt;path</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1308px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">PATH=c:\ruby\bin; &#8230;.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1308px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">C:\ruby&gt;gem update&#8211;system</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1308px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Updating RubyGems&#8230;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1308px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">RubyGems system software updated</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1308px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">C:\ruby&gt;gem install rails</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1308px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">C:\ruby&gt;rails myapp</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1308px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">C:\ruby&gt;cd myapp</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1308px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">C:\ruby\myapp&gt;ruby script/generate controller home index</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1308px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">C:\ruby\myapp&gt;ruby script/server</div>
<p>コマンドプロプトにてまず、ruby へのパスを確認します。</p>
<p>C:\ruby&gt;path</p>
<p>PATH=c:\ruby\bin; &#8230;.</p>
<p>gem をupdate します。</p>
<p>C:\ruby&gt;gem update &#8211;system</p>
<p>Updating RubyGems&#8230;</p>
<p>Rails のインストールします。</p>
<p>C:\ruby&gt;gem install rails</p>
<p>Rails がインストールできたら、動作確認のため簡単なアプリケーション作成します。</p>
<p>C:\ruby&gt;rails myapp</p>
<p>C:\ruby&gt;cd myapp</p>
<p>C:\ruby\myapp&gt;ruby script/generate controller home index</p>
<p>作成したアプリケーションを実行します。</p>
<p>C:\ruby\myapp&gt;ruby script/server</p>
<p>以下のような画面の表示を確認します。</p>
<div><span style="line-height: 16px;"><span style="white-space: pre"> </span><img src="http://3fqmbq.bay.livefilestore.com/y1pt2-3WMRGQ7ECEU4pUIiQMOWh6lq9RAohbYC9KvAWEvoQHuJZa7lRkUlRC3euWDpTFToPBqiE3_bgavDGO7k0mgWVf9kmDcTi/ROR_WebRick3000.jpg" border="0" alt="" /></span></div>
</li>
<li>Ruby for IIS ダウンロードしてインストール</li>
<p>参考             <a href="http://forums.iis.net/p/1154234/1889560.aspx#1889560">http://forums.iis.net/p/1154234/1889560.aspx#1889560</a><br />
<a href="http://forums.iis.net/p/1154234/1889560.aspx#1889560"></a><br />
ダウンロード <a href="http://ruslany.net/download/RubyForIIS-0.1.exe">http://ruslany.net/download/RubyForIIS-0.1.exe </a></p>
<p><a href="http://ruslany.net/download/RubyForIIS-0.1.exe"></a> インストール時の画面<br />
<a href="http://ruslany.net/download/RubyForIIS-0.1.exe"></a><span style="color: #5b5b5b; font-size: medium; "><span style="border-collapse: collapse; font-size: 14px; line-height: 21px"><img src="http://3fqmbq.bay.livefilestore.com/y1pOscnFc4r8uB3U5V6XRYmXqrM63XysnaNpx_fqpiNaynBnGxvr9wQx__NPo1ZBJrRrtAmIU3iunOo8cw_7NweX8-sk7t6sI31/RubyForIISInstOption.jpg" border="0" alt="" width="426" height="288" /><br />
</span></span></p>
<p>インストール後の確認</p>
<blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-width: initial; border-color: initial; border-style: none; padding: 0px"><p>指定したフォルダ　C:\Program Files (x86)\RubyForIIS 以下に mod_fastcgi などのフォルダの存在を確認</p></blockquote>
<blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-width: initial; border-color: initial; border-style: none; padding: 0px"><p>コマンドラインからの確認</p></blockquote>
<blockquote style="color: #ffffff; background-color: #000000; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-style: none; padding: 0px"><p>C:\ruby\myapp&gt;irb<br />
irb(main):001:0&gt; require &#8216;fcgi&#8217;<br />
=&gt; true<br />
irb(main):002:0&gt;</p></blockquote>
<li>IIS　マネージャーにて　Webサイトの追加
<p style="line-height: 130%"><span style="white-space: pre"> </span><img title="ADD WEB SITE" src="http://3fqmbq.bay.livefilestore.com/y1pAjDvJx6zpycjjGT1ksQKc8jjGXisOwCPiL-SqpYh_wH2SX7_6lGXd1fQaQwahqLP40Jf0EVuAYBGq35m3r8L-JG4D26SbqKh/ROR_Add_WebSite.jpg" border="0" alt="ADD WEB SITE" width="448" height="408" /></p>
<p style="line-height: 130%"><span style="white-space: pre"> </span>4.1 web.config   （ c:/ruby/myapp/publick/web.config 　）を編集</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<pre class="brush:php;">&#60;?xml version="1.0" encoding="UTF-8"?&#62;

&#60;configuration&#62;
    &#60;system.webServer&#62;
        &#60;handlers&#62;
            &#60;add name="ROR" path="dispatch.fcgi" verb="*" modules="FastCgiModule" scriptProcessor="C:\ruby\bin\ruby.exe|C:\ruby\myapp\public\dispatch.fcgi development" resourceType="Unspecified" requireAccess="Script" /&#62;
        &#60;/handlers&#62;
        &#60;rewrite&#62;
            &#60;rules&#62;
                &#60;rule name="Imported Rule 1"&#62;
                    &#60;match url="^$" ignoreCase="false" /&#62;
                    &#60;action type="Rewrite" url="index.html" appendQueryString="true" /&#62;
                &#60;/rule&#62;
                &#60;rule name="Imported Rule 2"&#62;
                    &#60;match url="^(&#91;^.&#93;+)$" ignoreCase="false" /&#62;
                    &#60;action type="Rewrite" url="{R:1}.html" appendQueryString="true" /&#62;
                &#60;/rule&#62;
                &#60;rule name="Imported Rule 3" stopProcessing="true"&#62;
                    &#60;match url="^(.*)$" ignoreCase="false" /&#62;
                    &#60;conditions logicalGrouping="MatchAll"&#62;
                        &#60;add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" pattern="" ignoreCase="false" /&#62;
                    &#60;/conditions&#62;
                    &#60;action type="Rewrite" url="dispatch.fcgi" appendQueryString="true" /&#62;
                &#60;/rule&#62;
            &#60;/rules&#62;
        &#60;/rewrite&#62;
    &#60;/system.webServer&#62;
&#60;/configuration&#62;</pre>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p><span style="line-height: 16px;">4.2  IIS マネージャにより設定内容を確認</span></p>
<blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-width: initial; border-color: initial; border-style: none; padding: 0px"><p>Module Map<br />
<img src="http://3fqmbq.bay.livefilestore.com/y1py33jg5hNBSOtUS7fF6FVQfWdQ6y74kN2S16H8J2vEhZhVzivdcCGnmyu9i98j8QMb3zMB8r9olgVVIVYNTJwFt7OyFYKYJaf/ROR_Module_Map.jpg" border="0" alt="" /><br />
FastCGI Setting<br />
<a href="http://3fqmbq.bay.livefilestore.com/y1ppLiyYyASTg43W_Nv4DlXzc_hNcjqoC8VsvUIFXJx-HsOJnLng4HfFq_VnNj7PxZaHUiyugs18ItGR6zn5AmP4RDTw31lw0eh/ROR_FCGI_Setting.jpg"><img style="border: 0px initial initial;" src="http://3fqmbq.bay.livefilestore.com/y1ppLiyYyASTg43W_Nv4DlXzc_hNcjqoC8VsvUIFXJx-HsOJnLng4HfFq_VnNj7PxZaHUiyugs18ItGR6zn5AmP4RDTw31lw0eh/ROR_FCGI_Setting.jpg" border="0" alt="" width="320" /></a></p></blockquote>
<blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-width: initial; border-color: initial; border-style: none; padding: 0px"><p>URL Rewrite</p></blockquote>
<blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-width: initial; border-color: initial; border-style: none; padding: 0px"><p><img src="http://3fqmbq.bay.livefilestore.com/y1pxY3ECdvlPMgGV_V5_M7CcArji8P-j-9CwWm0IDBZLmgxRDeLbaWhQllDgxGwIKHCBqNjsDhtRplKyYF9pWYcNf1VjRiLCPr7/ROR_Url_Rewrite.jpg" border="0" alt="" /></p></blockquote>
</li>
<li>権限の付与　以下のフォルダに変更権限を付与<br />
<blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-width: initial; border-color: initial; border-style: none; padding: 0px"><p>C:\ruby\myapp\log<br />
C:\ruby\myapp\temp</p></blockquote>
</li>
<li>動作確認下記のＵＲＬにアクセスし、 2. で動作確認したWebrick サーバーと同じ内容が表示されることを確認する
<p><span style="white-space: pre"> </span>http://localhost:3001/home/index</p>
<p style="line-height: 130%"><span style="white-space: pre"> </span>以下のエラーの場合、</p>
<p style="line-height: 15px"><span style="white-space: pre"> </span><img style="border: 0px initial initial;" src="http://3fqmbq.bay.livefilestore.com/y1p8-h4buHHl_CHnPJfvlcrtuW3Rc4czDTCvUKBYtatX0xFll08YK1iGTVdycgRJNXAgzX2QEwjLjtQT6ECpN3BGXvmda-KFKTM/ROR_Sorry_Something_Wrong.jpg" border="0" alt="" /></p>
<p style="line-height: 130%"><span style="white-space: pre"> </span>下記のファイルの作成を確認します。</p>
<p style="line-height: 130%"><span style="white-space: pre">例 </span>c:/ruby/myapp/public/dispathc.rb</p>
<blockquote style="background-color: #ffffcc; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-style: none; padding: 0px"><p>#!c:/ruby/bin/ruby<br />
require File.dirname(__FILE__) + &#8220;/../config/environment&#8221; unless defined?(RAILS_ROOT)<br />
# If you&#8217;re using RubyGems and mod_ruby, this require should be changed to an absolute path one, like:<br />
# &#8220;/usr/local/lib/ruby/gems/1.8/gems/rails-0.8.0/lib/dispatcher&#8221; &#8212; otherwise performance is severely impaired<br />
require &#8220;dispatcher&#8221;<br />
ADDITIONAL_LOAD_PATHS.reverse.each { |dir| $:.unshift(dir) if File.directory?(dir) } if defined?(Apache::RubyRun)<br />
Dispatcher.dispatch</p></blockquote>
<p style="line-height: 15px"><span style="white-space: pre">例 </span>c:/ruby/myapp/public/dispathc.fcgi</p>
<blockquote style="background-color: #ffffcc; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-style: none; padding: 0px"><p>#!c:/ruby/bin/ruby<br />
require File.dirname(__FILE__) + &#8220;/../config/environment&#8221;<br />
require &#8216;fcgi_handler&#8217;<br />
RailsFCGIHandler.process!</p></blockquote>
<p style="line-height: 130%">
</li>
</ol>
<p>以上</p>
]]></content:encoded>
			<wfw:commentRss>http://iis.museum-in-cloud.com/wordpress/archives/421/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://iis.museum-in-cloud.com/wordpress/archives/421" />
	</item>
		<item>
		<title>ＩＩSでもっと詳しいエラーを取得するには</title>
		<link>http://iis.museum-in-cloud.com/wordpress/archives/411</link>
		<comments>http://iis.museum-in-cloud.com/wordpress/archives/411#comments</comments>
		<pubDate>Thu, 10 Dec 2009 09:43:58 +0000</pubDate>
		<dc:creator>kwin</dc:creator>
				<category><![CDATA[Windows-Maniax]]></category>

		<guid isPermaLink="false">http://iis.museum-in-cloud.com/wordpress/?p=411</guid>
		<description><![CDATA[PHP on Windows Training Kit　の「Hands-On Lab:Troubleshooting PHP」 を参考に
1)  IISの失敗ログのトレース機能
2)  実行に時間がかかる処理を検出する例
3)  失敗ログのトレース結果の利用例
について説明します。


1. IIS のエラーログの出力には設定が必要
1.1  失敗した要求トレースの規則　を設定

* 200　を指定することで失敗でない処理のトレースを採取することも可能 

1.2 　Web サイトごとに　失敗した要求トレース の機能を有効にする

* 前提条件としては　トレース　機能がインストールされていること
この役割サービスが導入されていなと、メニューが表示されない。 
* Windows7では役割の追加はコントロールパネル経由で行なう。

* Kit  の Setup.docx の図では選択されていないので注意

1.3  出力されたエラー内容の確認

2. 　実行に時間がかかる処理を検出する例
用意された loop.php を実行
 $j = 0;
 for($i=0; $i&#60;10; $j = $i + 1)
 {
 $j = $j + 1;
 }
 echo(&#8221;Done&#8221;);
?&#62;
 をクリックして処理に時間がかかる Process を確認することができます。

3. 失敗ログのトレース結果の利用例
内部エラーですが、 30秒程度で毎回終了していました。
php.ini のmax_execution_time の値をデフォルトの30秒が原因であったため、この値を大きくすることでエラーは発生しなくなりました。 

* PHPのプログラムのデバック情報を表示するためには [...]]]></description>
			<content:encoded><![CDATA[<h2>PHP on Windows Training Kit　の「<span style="font-family: Tahoma; font-size: 12px">Hands-On Lab:Troubleshooting PHP」 を参考に</span></h2>
<p><span style="font-family: Tahoma; font-size: 12px">1)  IISの失敗ログのトレース機能<br />
2)  実行に時間がかかる処理を検出する例<br />
3)  失敗ログのトレース結果の利用例</span></p>
<p><span style="font-family: Tahoma; font-size: 12px">について説明します。</span></p>
<p><span style="font-family: Tahoma; font-size: 12px"><span id="more-411"></span><br />
</span></p>
<p>1. IIS のエラーログの出力には設定が必要</p>
<p>1.1  失敗した要求トレースの規則　を設定</p>
<p><a href="http://public.bay.livefilestore.com/y1pt4I0Gd1xeCwtHzFiwjG7TSpj4o2XD_pDFI3D4LR3YImMBjODydnPRn04XhPLROGq2qf1geoXh4ebypMnFd33UA/img13_1.jpg"><img style="border: 0px initial initial;" src="http://public.bay.livefilestore.com/y1pt4I0Gd1xeCwtHzFiwjG7TSpj4o2XD_pDFI3D4LR3YImMBjODydnPRn04XhPLROGq2qf1geoXh4ebypMnFd33UA/img13_1.jpg" border="0" alt="" width="320" /></a></p>
<p>* <span style="color: #0000ff">200　を指定することで失敗でない処理のトレースを採取することも可能 </span></p>
<p><a href="http://public.bay.livefilestore.com/y1p6nHJhkjz4dcVMO9yqLVQzMBu1QgQhBTZqETKqG28i0RfzuEmYtpW1G-VvJr6AVkizo0H60yvbfI2OwLhFk1_6A/img13_3.jpg"><img style="border: 0px initial initial;" src="http://public.bay.livefilestore.com/y1p6nHJhkjz4dcVMO9yqLVQzMBu1QgQhBTZqETKqG28i0RfzuEmYtpW1G-VvJr6AVkizo0H60yvbfI2OwLhFk1_6A/img13_3.jpg" border="0" alt="" width="320" /></a></p>
<p>1.2 　Web サイトごとに　<span style="font-weight: bold">失敗した要求トレース</span> の機能を<span style="font-weight: bold">有効</span>にする</p>
<p><a href="http://public.bay.livefilestore.com/y1pS-lXI6wuYqI-XNyf-4sNI2iCHQXPNkzeroAC53Lt62bRl5NZEVOURQgWWAXcBO5QF9IdMZ9SA3d9uFHh2D9F7g/img13_2.jpg"><img style="border: 0px initial initial;" src="http://public.bay.livefilestore.com/y1pS-lXI6wuYqI-XNyf-4sNI2iCHQXPNkzeroAC53Lt62bRl5NZEVOURQgWWAXcBO5QF9IdMZ9SA3d9uFHh2D9F7g/img13_2.jpg" border="0" alt="" width="320" /></a></p>
<p>* <span style="color: #0000ff">前提条件としては　トレース　機能がインストールされていること<br />
この役割サービスが導入されていなと、メニューが表示されない。 </span></p>
<p>* <a href="index.php?option=com_content&amp;view=article&amp;id=141:iis75windows7&amp;catid=1:iis7&amp;Itemid=141" target="_blank">Windows7では役割の追加はコントロールパネル経由</a>で行なう。</p>
<p><a href="http://public.bay.livefilestore.com/y1pU4h5a6TMkheJnTsT489bHzcriyMta_aEz4goEZCFNE8ZEpwsjhwsSVvqoDjMmSmGcIVds25VKKXLLLbJb_yJyA/img17.jpg"><img style="border: 0px initial initial;" src="http://public.bay.livefilestore.com/y1pU4h5a6TMkheJnTsT489bHzcriyMta_aEz4goEZCFNE8ZEpwsjhwsSVvqoDjMmSmGcIVds25VKKXLLLbJb_yJyA/img17.jpg" border="0" alt="" width="320" /></a></p>
<blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-width: initial; border-color: initial; border-style: none; padding: 0px"><p>* Kit  の Setup.docx の図では選択されていないので注意</p></blockquote>
<blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-width: initial; border-color: initial; border-style: none; padding: 0px"><p><a href="http://public.bay.livefilestore.com/y1pgMa-fq0OO6VCKSc6XDCAtY0krpiAzyhMrhIcskHVP1oTmuEeVN1mTBEjNkvjMV1Rvy2slb5P7TE7hYrTbWaSOg/img21.jpg"><img style="border: 0px initial initial;" src="http://public.bay.livefilestore.com/y1pgMa-fq0OO6VCKSc6XDCAtY0krpiAzyhMrhIcskHVP1oTmuEeVN1mTBEjNkvjMV1Rvy2slb5P7TE7hYrTbWaSOg/img21.jpg" border="0" alt="" width="320" /></a></p></blockquote>
<p>1.3  出力されたエラー内容の確認</p>
<p><a href="http://public.bay.livefilestore.com/y1pwUbUpkBC1hATrbEg9P5UtQd4rCdw5nrGZy3BOMa066Bo-bp93XjvHSGzmA--n_9ko9sFUmiCN-Na7kaM4ez51w/img22.jpg"><img style="border: 0px initial initial;" src="http://public.bay.livefilestore.com/y1pwUbUpkBC1hATrbEg9P5UtQd4rCdw5nrGZy3BOMa066Bo-bp93XjvHSGzmA--n_9ko9sFUmiCN-Na7kaM4ez51w/img22.jpg" border="0" alt="" width="320" /></a></p>
<p>2. 　実行に時間がかかる処理を検出する例</p>
<p>用意された loop.php を実行</p>
<blockquote style="background-color: #ffffcc; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-style: none; padding: 0px"><p><span style="white-space: pre"> </span>$j = 0;<br />
<span style="white-space: pre"> </span>for($i=0; $i&lt;10; $j = $i + 1)<br />
<span style="white-space: pre"> </span>{<br />
<span style="white-space: pre"> </span>$j = $j + 1;<br />
<span style="white-space: pre"> </span>}<br />
<span style="white-space: pre"> </span>echo(&#8221;Done&#8221;);<br />
?&gt;</p></blockquote>
<p><img style="border: 0px initial initial;" src="http://3fqmbq.bay.livefilestore.com/y1pcPTRewP-0C5jkKUPac_0kxVa1FjY8cp7sJUA8l1_v9b7IE7y2_-jQwEdC_8-mh9Be646cPi2Uu_r7Lx8enurL2186sfneBHp/img15.jpg" border="0" alt="" /> をクリックして処理に時間がかかる Process を確認することができます。</p>
<p><img style="border: 0px initial initial;" src="http://public.bay.livefilestore.com/y1p-JUQnHthvqtsMXmJTk9VroCANb81g7HH_TR79WPXF8a7-ttmHP0t2Wjtoz9nquAtBV0N2pdBmCGEr2wBX_O6bQ/img16.jpg" border="0" alt="" /></p>
<p>3. 失敗ログのトレース結果の利用例</p>
<p>内部エラーですが、 30秒程度で毎回終了していました。<br />
<span style="font-size: 10.5pt; font-family: Century, serif">php.ini </span><span style="font-size: 10.5pt; font-family: 'ＭＳ 明朝', serif">の</span><span style="font-size: 10.5pt; font-family: Century, serif">max_execution_time </span><span style="font-size: 10.5pt; font-family: 'ＭＳ 明朝', serif">の値をデフォルトの</span><span style="font-size: 10.5pt; font-family: Century, serif">30</span><span style="font-size: 10.5pt; font-family: 'ＭＳ 明朝', serif">秒が原因であったため、この値を大きくすることでエラーは発生しなくなりました。<span style="font-family: Tahoma; font-size: 12px"> </span></span></p>
<p><span style="font-size: 10.5pt; font-family: 'ＭＳ 明朝', serif"><a href="http://public.bay.livefilestore.com/y1pwUbUpkBC1hATrbEg9P5UtQd4rCdw5nrGZy3BOMa066Bo-bp93XjvHSGzmA--n_9ko9sFUmiCN-Na7kaM4ez51w/img22.jpg"><img style="border: 0px initial initial;" src="http://public.bay.livefilestore.com/y1pwUbUpkBC1hATrbEg9P5UtQd4rCdw5nrGZy3BOMa066Bo-bp93XjvHSGzmA--n_9ko9sFUmiCN-Na7kaM4ez51w/img22.jpg" border="0" alt="" width="320" /></a></span></p>
<p><span style="color: #111111; font-family: Futura; font-size: 13px; line-height: normal"><span style="color: #0000ff">* PHPのプログラムのデバック情報を表示するためには php.ini の display_errors=On </span>の設定が有効</span><br />
関連 :   <a href="../wordpress/index.php/archives/272#1">IISのエラーメッセージをカスタマイズする</a></p>
]]></content:encoded>
			<wfw:commentRss>http://iis.museum-in-cloud.com/wordpress/archives/411/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://iis.museum-in-cloud.com/wordpress/archives/411" />
	</item>
		<item>
		<title>IIS上のCakePHPをホスティング環境へ移行する</title>
		<link>http://iis.museum-in-cloud.com/wordpress/archives/398</link>
		<comments>http://iis.museum-in-cloud.com/wordpress/archives/398#comments</comments>
		<pubDate>Thu, 10 Dec 2009 07:03:28 +0000</pubDate>
		<dc:creator>kwin</dc:creator>
				<category><![CDATA[Windows-Maniax]]></category>

		<guid isPermaLink="false">http://iis.museum-in-cloud.com/wordpress/?p=398</guid>
		<description><![CDATA[オンプレミス環境のIISで稼働している CakePHP　アプリケーションをホスティング環境への移行します。
ディレクトリ構成の変更に伴い、 CakePHP 側の設定ファイルの修正が必要となります。
今回のホスティング環境では .htaccess ファイルによる　URL Rewrite 機能が利用できるため　web.config によるURL書き換えの設定は必要ありません。 

ホスティング環境で新しいドメインを追加します
/li>
ファイルを転送します

ドメインの追加作業で作成されたcakephp.in00.ms-isle.com　フォルダに webrootフォルダの内容を転送します。
F:\apps\cake_1.2.5\apps\webroot　==&#62; /wwwroot/cakephp.in00.ms-isle.com

 webroot 以外のフォルダを転送します。
F:\apps\cake_1.2.5\　==&#62; /wwwroot/cake_1.2.5/app



 転送後のホスティング環境のディレクトリ構成
設定ファイルの修正
CakePHP のセットアップを参考にcake_1.2.5\app\webroot\index.phpファイルの内容を編集します。
if (!defined('ROOT')) {
　　define('ROOT','D:/CustomerData/webspaces/webspace_00118221'.DS.'wwwroot'.DS.'cake_1.2.5' );
}
if (!defined('APP_DIR')) {
　　define('APP_DIR', 'app');
}
if (!defined('CAKE_CORE_INCLUDE_PATH')) {
　　define('CAKE_CORE_INCLUDE_PATH', ROOT);
}
また、データベースの接続情報　cake_1.2.5\app\config\database.php をホスティング環境に合わせて修正します。
エラー対応 以下のエラー対応のためsession.phpとcore.php の一部を修正しました。
PHP Fatal error: Class &#8216;Security&#8217; not found in D:\CustomerData?\webspaces\webspace_00118221\wwwroot\cake_1.2.5\cake\libs\session.php on line 157
- cake_1.2.5\cake\lib\session.php
//$this-&#62;sessionTime = $this-&#62;time + (Security::inactiveMins() * Configure::read('Session.timeout'));
$this-&#62;sessionTime = $this-&#62;time + ( 1 * Configure::read('Session.timeout'));
- cake_1.2.5\app\config\core.php
Configure::write('Security.level', [...]]]></description>
			<content:encoded><![CDATA[<p>オンプレミス環境のIISで稼働している CakePHP　アプリケーションをホスティング環境への移行します。</p>
<p>ディレクトリ構成の変更に伴い、 CakePHP 側の設定ファイルの修正が必要となります。</p>
<p>今回のホスティング環境では .htaccess ファイルによる　URL Rewrite 機能が利用できるため　web.config によるURL書き換えの設定は必要ありません。 <span id="more-398"></span></p>
<ol>
<li>ホスティング環境で新しいドメインを追加します
<div class="wp-caption alignnone" style="width: 330px"><a title="サブドメインの追加" href="http://3fqmbq.bay.livefilestore.com/y1pFKnuMJWwLTGf5981n2bhGJuxhsKUH2FX5mtxeiuVsJGUliB2HYddBZavuxQ4YU3E3UsrLWgeffWvDnOOOjOHlK3SQ-BWlnXY/infoinito_add_domain.jpg"><img title="サブドメインの追加" src="http://3fqmbq.bay.livefilestore.com/y1pFKnuMJWwLTGf5981n2bhGJuxhsKUH2FX5mtxeiuVsJGUliB2HYddBZavuxQ4YU3E3UsrLWgeffWvDnOOOjOHlK3SQ-BWlnXY/infoinito_add_domain.jpg" alt="サブドメインの追加" width="320" /></a><p class="wp-caption-text">サブドメインの追加</p></div></li>
<li>ファイルを転送します
<ul>
<li>ドメインの追加作業で作成されたcakephp.in00.ms-isle.com　フォルダに webrootフォルダの内容を転送します。<br />
<blockquote><p>F:\apps\cake_1.2.5\apps\webroot　==&gt; /wwwroot/cakephp.in00.ms-isle.com</p></blockquote>
</li>
<li> webroot 以外のフォルダを転送します。<br />
<blockquote><p>F:\apps\cake_1.2.5\　==&gt; /wwwroot/cake_1.2.5/app</p></blockquote>
</li>
</ul>
</li>
<li> 転送後のホスティング環境のディレクトリ構成</li>
<p><div class="wp-caption alignnone" style="width: 330px"><a title="ファイル構成" href="http://public.bay.livefilestore.com/y1pH1DphHDvGPzD7vZ8tiEE67MAFsJtNY8350ZO3GylBD70QX7BBZeCECF3bFeGcdDC3Sa2ipnE_BRPgvPTktt7_g/infoinito_cakephp_dir.jpg"><img title="ファイル構成" src="http://public.bay.livefilestore.com/y1pH1DphHDvGPzD7vZ8tiEE67MAFsJtNY8350ZO3GylBD70QX7BBZeCECF3bFeGcdDC3Sa2ipnE_BRPgvPTktt7_g/infoinito_cakephp_dir.jpg" alt="ファイル構成" width="320" /></a><p class="wp-caption-text">ファイル構成 </p></div>
<li>設定ファイルの修正</li>
<p><a href="http://www.cakephp.jp/doc/ch03s04.html">CakePHP のセットアップ</a>を参考にcake_1.2.5\app\webroot\index.phpファイルの内容を編集します。</p>
<pre class="brush:php;">if (!defined('ROOT')) {
　　define('ROOT','D:/CustomerData/webspaces/webspace_00118221'.DS.'wwwroot'.DS.'cake_1.2.5' );
}
if (!defined('APP_DIR')) {
　　define('APP_DIR', 'app');
}
if (!defined('CAKE_CORE_INCLUDE_PATH')) {
　　define('CAKE_CORE_INCLUDE_PATH', ROOT);
}</pre>
<blockquote><p>また、データベースの接続情報　cake_1.2.5\app\config\database.php をホスティング環境に合わせて修正します。</p></blockquote>
<li>エラー対応 以下のエラー対応のためsession.phpとcore.php の一部を修正しました。<br />
<blockquote><p>PHP Fatal error: Class &#8216;Security&#8217; not found in D:\CustomerData?\webspaces\webspace_00118221\wwwroot\cake_1.2.5\cake\libs\session.php on line 157</p></blockquote>
<p>- cake_1.2.5\cake\lib\session.php</p>
<pre class="brush:php;">//$this-&#62;sessionTime = $this-&#62;time + (Security::inactiveMins() * Configure::read('Session.timeout'));
$this-&#62;sessionTime = $this-&#62;time + ( 1 * Configure::read('Session.timeout'));</pre>
<p>- cake_1.2.5\app\config\core.php</p>
<pre class="brush:php;">Configure::write('Security.level', 'medium');</pre>
</li>
<li>確認
<ul>
<li>以下のファイル、設定を確認します。<br />
cakephp.in00.ms-isle.com/.hteccess</p>
<pre class="brush:php;">&#60;IfModule mod_rewrite.c&#62;
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?url=$1 &#91;QSA,L&#93;
&#60;/IfModule&#62;</pre>
</li>
<li>また apps/tmp　以下のフォルダの作成および　tmp 以下のフォルダの更新権限が必要です。</li>
<li>動作確認</li>
<p><a href="http://cakephp.in00.ms-isle.com/">http://cakephp.in00.ms-isle.com/</a></ul>
</li>
</ol>
<p>以上</p>
]]></content:encoded>
			<wfw:commentRss>http://iis.museum-in-cloud.com/wordpress/archives/398/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://iis.museum-in-cloud.com/wordpress/archives/398" />
	</item>
		<item>
		<title>IISでCakePHPを動かす</title>
		<link>http://iis.museum-in-cloud.com/wordpress/archives/382</link>
		<comments>http://iis.museum-in-cloud.com/wordpress/archives/382#comments</comments>
		<pubDate>Thu, 10 Dec 2009 03:46:46 +0000</pubDate>
		<dc:creator>kwin</dc:creator>
				<category><![CDATA[Windows-Maniax]]></category>

		<guid isPermaLink="false">http://iis.museum-in-cloud.com/wordpress/?p=382</guid>
		<description><![CDATA[IIS で CakePHP や Ruby on Rails を動作させるためには URL 書き換え 機能の設定が必要となります。
ここでは CakePHP を動作させるまでの手順とURL 書き換え 用の設定ファイル(web.config)を紹介します。


 CakePHPをサイトからダウンロードします。
/li>
IIS マネージャで Webサイトを追加します。
今回はダウンロードしてファイルを f:\apps 以下に展開しました。
物理バスの指定は &#8220;f:\apps\cake_1.2.5\app\webroot&#8221; となります。
今回は Port 85 を指定しましたが、ホスト名を指定することで　Port 80 を複数の Webサイトとして利用することもできます。
/li>
設定

f:\apps\cake_1.2.5\app\config\core.php の salt の値をデフォルト値から変更します。
 Configure::write(&#8217;Security.salt&#8217;, &#8216;XXXXXXXX&#8217;);

f:\apps\cake_1.2.5\app\tmp フォルダ以下への書き込み権限を付与します。
この権限がない場合、以下のようなエラーとなります。
http://localhost:85/index.php
/li>


CakePHPブログチュートリアルに従い、サンプルアプリケーションを作成します。

参考　http://book.cakephp.org/ja/view/219/Blog


URL 書き換えの設定
以下のファイルを　&#8221;f:\apps\cake_1.2.5\app\webroot\web.config&#8221; に作成します。
&#60;?xml version="1.0" encoding="UTF-8"?&#62;
&#60;configuration&#62;
    &#60;system.webServer&#62;

        &#60;rewrite&#62;
      [...]]]></description>
			<content:encoded><![CDATA[<p>IIS で CakePHP や Ruby on Rails を動作させるためには URL 書き換え 機能の設定が必要となります。</p>
<p>ここでは CakePHP を動作させるまでの手順とURL 書き換え 用の設定ファイル(web.config)を紹介します。</p>
<p><span id="more-382"></span></p>
<ol>
<li> CakePHPをサイトからダウンロードします。
<div class="wp-caption alignnone" style="width: 330px"><a title="cakephp.org" href="http://3fqmbq.bay.livefilestore.com/y1p2qiENlNFgXxRA7DQd-nHwx8zVpdDNjgfAf2ETHHmBLrU5uCGQF8ZcgRJACmXUKpJBC4NBYOH7YElRzE9dmtz1hyWQFlWK2QE/cakephp_org.jpg"><img title="cakephp.org" src="http://3fqmbq.bay.livefilestore.com/y1p2qiENlNFgXxRA7DQd-nHwx8zVpdDNjgfAf2ETHHmBLrU5uCGQF8ZcgRJACmXUKpJBC4NBYOH7YElRzE9dmtz1hyWQFlWK2QE/cakephp_org.jpg" alt="cakephp.org" width="320" /></a><p class="wp-caption-text">cakephp.org</p></div></li>
<li>IIS マネージャで Webサイトを追加します。<br />
今回はダウンロードしてファイルを f:\apps 以下に展開しました。<br />
物理バスの指定は &#8220;f:\apps\cake_1.2.5\app\webroot&#8221; となります。<br />
今回は Port 85 を指定しましたが、ホスト名を指定することで　Port 80 を複数の Webサイトとして利用することもできます。</p>
<p><div class="wp-caption alignnone" style="width: 330px"><a title="Webサイトの追加" href="http://3fqmbq.bay.livefilestore.com/y1p370vruSzm9SY3oQ1B1W--9JNnF_bjOkJo2p-k_Sadu2eq_9fGkOLTDwN9M4tIn7pXm2yRo2T3yQVlet46AVsXm5Ufz0GXn4X/cake_ptp_port85.jpg"><img title="Webサイトの追加" src="http://3fqmbq.bay.livefilestore.com/y1p370vruSzm9SY3oQ1B1W--9JNnF_bjOkJo2p-k_Sadu2eq_9fGkOLTDwN9M4tIn7pXm2yRo2T3yQVlet46AVsXm5Ufz0GXn4X/cake_ptp_port85.jpg" alt="Webサイトの追加" width="320" /></a><p class="wp-caption-text">Webサイトの追加</p></div></li>
<li>設定
<ul>
<li>f:\apps\cake_1.2.5\app\config\core.php の salt の値をデフォルト値から変更します。<br />
<blockquote><p><span style="color: #0000ff;"> Configure::write(&#8217;Security.salt&#8217;, &#8216;XXXXXXXX&#8217;);</span></p></blockquote>
</li>
<li>f:\apps\cake_1.2.5\app\tmp フォルダ以下への書き込み権限を付与します。<br />
この権限がない場合、以下のようなエラーとなります。<br />
http://localhost:85/index.php</p>
<p><div class="wp-caption alignnone" style="width: 330px"><a title="Warning Permission denied" href="http://3fqmbq.bay.livefilestore.com/y1pSPpXrF2xybuZ51-l-UcVT9pCUDkqDDjrM08jAjnwvpB1njMnTwsw_uI7dN7mvWVNuHTLW_t0_RKibi9Q_8Isi7tQnY5FHHUI/cake_ptp_port85._warning_tmp.jpg"><img title="Warning Permission denied" src="http://3fqmbq.bay.livefilestore.com/y1pSPpXrF2xybuZ51-l-UcVT9pCUDkqDDjrM08jAjnwvpB1njMnTwsw_uI7dN7mvWVNuHTLW_t0_RKibi9Q_8Isi7tQnY5FHHUI/cake_ptp_port85._warning_tmp.jpg" alt="Warning Permission denied" width="320" /></a><p class="wp-caption-text">Warning Permission denied</p></div></li>
</ul>
</li>
<li>CakePHPブログチュートリアルに従い、サンプルアプリケーションを作成します。
<ul>
<li>参考　<a href="http://book.cakephp.org/ja/view/219/Blog">http://book.cakephp.org/ja/view/219/Blog</a></li>
</ul>
</li>
<li>URL 書き換えの設定<br />
以下のファイルを　&#8221;f:\apps\cake_1.2.5\app\webroot\web.config&#8221; に作成します。</p>
<pre class="brush:php;">&#60;?xml version="1.0" encoding="UTF-8"?&#62;
&#60;configuration&#62;
    &#60;system.webServer&#62;

        &#60;rewrite&#62;
            &#60;rules&#62;
                &#60;clear /&#62;
                &#60;rule name="Imported Rule 5" stopProcessing="true"&#62;
                    &#60;match url="^(.*)$" ignoreCase="false" /&#62;
                    &#60;conditions logicalGrouping="MatchAll"&#62;
                        &#60;add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" pattern="" ignoreCase="false" /&#62;
                        &#60;add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" pattern="" ignoreCase="false" /&#62;
                    &#60;/conditions&#62;
                    &#60;action type="Rewrite" url="index.php?url={R:1}" appendQueryString="true" /&#62;
                &#60;/rule&#62;
                &#60;rule name="Imported Rule 3" stopProcessing="true"&#62;
                    &#60;match url="^$" ignoreCase="false" /&#62;
                    &#60;conditions logicalGrouping="MatchAll" /&#62;
                    &#60;action type="Rewrite" url="/" /&#62;
                &#60;/rule&#62;
                &#60;rule name="Imported Rule 4" stopProcessing="true"&#62;
                    &#60;match url="(.*)" ignoreCase="false" /&#62;
                    &#60;conditions logicalGrouping="MatchAll" /&#62;
                    &#60;action type="Rewrite" url="/{R:1}" /&#62;
                &#60;/rule&#62;
                &#60;rule name="Imported Rule 1-1" stopProcessing="true"&#62;
                    &#60;match url="^(.*)$" ignoreCase="false" /&#62;
                    &#60;conditions logicalGrouping="MatchAll"&#62;
                        &#60;add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" pattern="" ignoreCase="false" /&#62;
                        &#60;add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" pattern="" ignoreCase="false" /&#62;
                    &#60;/conditions&#62;
                    &#60;action type="Rewrite" url="index.php?url={R:1}" appendQueryString="true" /&#62;
                &#60;/rule&#62;
            &#60;/rules&#62;
        &#60;/rewrite&#62;

    &#60;/system.webServer&#62;
&#60;/configuration&#62;</pre>
<p>上記のファイルの設定によりIISマネージャの画面では以下のような表示となります。</p>
<p><div class="wp-caption alignnone" style="width: 330px"><a title="URL書き換え" href="http://3fqmbq.bay.livefilestore.com/y1p4hHJGuJ83iLHmF70zSvlFZ4g27uadca4idhS5AIQDHX6jLEIBS3AC1bfORcaSn5ngk_adzeB-if2WMkOheaCdyotd6fj8TIW/IIS_URL_Rewrite_CakePHP.jpg"><img title="URL書き換え" src="http://3fqmbq.bay.livefilestore.com/y1p4hHJGuJ83iLHmF70zSvlFZ4g27uadca4idhS5AIQDHX6jLEIBS3AC1bfORcaSn5ngk_adzeB-if2WMkOheaCdyotd6fj8TIW/IIS_URL_Rewrite_CakePHP.jpg" alt="URL書き換え" width="320" /></a><p class="wp-caption-text">URL書き換え</p></div></li>
<li>サンプルアプリケーションの動作確認
<p><div class="wp-caption alignnone" style="width: 312px"><a title="サンプルアプリケーション" href="http://3fqmbq.bay.livefilestore.com/y1ph-DA0TF88jZLLT33lkxwDlgRjnFm9qIi7g5JNWZPtYQV0EZYZubTA8sKZpb8kKKa5F33vvyi9uRkBv_FCme12OeHDVd7AfoL/cake_ptp_port85_posts.jpg"><img title="サンプルアプリケーション" src="http://3fqmbq.bay.livefilestore.com/y1ph-DA0TF88jZLLT33lkxwDlgRjnFm9qIi7g5JNWZPtYQV0EZYZubTA8sKZpb8kKKa5F33vvyi9uRkBv_FCme12OeHDVd7AfoL/cake_ptp_port85_posts.jpg" alt="サンプルアプリケーション" width="302" /></a><p class="wp-caption-text">サンプルアプリケーション</p></div>
<p>URL書き換えが正し設定されていない場合、以下のようなエラーとなります。</p>
<blockquote><p><span style="color: #ff0000;">HTTP エラー 404.0 &#8211; Not Found</span></p></blockquote>
</li>
</ol>
<p>以上</p>
]]></content:encoded>
			<wfw:commentRss>http://iis.museum-in-cloud.com/wordpress/archives/382/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://iis.museum-in-cloud.com/wordpress/archives/382" />
	</item>
		<item>
		<title>IISでForce.comのPHP Tool KitのSoapを動かす</title>
		<link>http://iis.museum-in-cloud.com/wordpress/archives/362</link>
		<comments>http://iis.museum-in-cloud.com/wordpress/archives/362#comments</comments>
		<pubDate>Tue, 08 Dec 2009 09:12:01 +0000</pubDate>
		<dc:creator>kwin</dc:creator>
				<category><![CDATA[Windows-Maniax]]></category>

		<guid isPermaLink="false">http://iis.museum-in-cloud.com/wordpress/?p=362</guid>
		<description><![CDATA[クラウド環境でＣＲＭシステムを提供する Salseforce.com  ではクラウドとの連携を行うためのPHPライブラリが提供されています。
ここで提供されているSOAPを利用したサンプルプログラムでは、IIS上で動作するPHPアプリケーションから Salseforce.com クラウド内の取引先責任者(Contact) を登録することができます。
以下、IIS上でサンプルアプリケーションを稼動させる手順を示します。

1.  PHP　を利用したサンプルプログラムをダウロードします。
ダウンロードサイト
http://wiki.developerforce.com/index.php/Self-Service_Portal_Toolkit_for_PHP_5
2.  ダウンロードしたファイルを展開し　IISのアプリケーションに追加設定し、実行してみます。
例.   http:// xxxxxx/ssp-php5-0.9.1/samples/signup.php
2.1 このサンプルアプリケーションは php_soap.dll が必要となります。
下記のようなエラーが発生した場合、 php_soap.dll　の設定を行います。
PHP Fatal error:  Class 'SoapClient' not found in C:xxxx\0work\ssp-php5-0.9.1\soapclient\SforceBaseClient.php on line 57
php.ini の編集および php_soap.dll を拡張フォルダに設置した後、ＩＩＳを再起動します。
2.2  force.com との連携設定
/ssp-php5-0.9.1/samples/config.ini ファイルに force.com との連携用のユーザー名とバスワードを設定します。
　goldenUsername = "xxxx@xxxx.com"
　goldenPassword = "パスワード＋セキュリティートークン"
　sspPassword = "A_SSP_Password"
　accountName = "IBM"
　sf_wsdl     = "partner.wsdl.xml"
この設定が正しくない場合、以下のようなエラーとなります。
There was a problem logging in [...]]]></description>
			<content:encoded><![CDATA[<p>クラウド環境でＣＲＭシステムを提供する Salseforce.com  ではクラウドとの連携を行うためのPHPライブラリが提供されています。</p>
<p>ここで提供されているSOAPを利用したサンプルプログラムでは、IIS上で動作するPHPアプリケーションから Salseforce.com クラウド内の取引先責任者(Contact) を登録することができます。</p>
<p>以下、IIS上でサンプルアプリケーションを稼動させる手順を示します。</p>
<p><span id="more-362"></span></p>
<h2>1.  PHP　を利用したサンプルプログラムをダウロードします。</h2>
<p>ダウンロードサイト</p>
<p><a href="http://wiki.developerforce.com/index.php/Self-Service_Portal_Toolkit_for_PHP_5">http://wiki.developerforce.com/index.php/Self-Service_Portal_Toolkit_for_PHP_5</a></p>
<div class="wp-caption alignnone" style="width: 330px"><a href="http://public.bay.livefilestore.com/y1pd4aBxHkQ87rzs9TjUTtB3U0xkTKoQ-KyO6MLlPMSZ-SMP1mqnJeB37ZB2-8hzVdZ-dLXGOIBRAs1wt4H_yMvNA/salseforce_php_sample_download.jpg"><img class=" " src="http://public.bay.livefilestore.com/y1pd4aBxHkQ87rzs9TjUTtB3U0xkTKoQ-KyO6MLlPMSZ-SMP1mqnJeB37ZB2-8hzVdZ-dLXGOIBRAs1wt4H_yMvNA/salseforce_php_sample_download.jpg" alt="Download" width="320" /></a><p class="wp-caption-text">Download</p></div>
<h2>2.  ダウンロードしたファイルを展開し　IISのアプリケーションに追加設定し、実行してみます。</h2>
<p>例.   http:// xxxxxx/ssp-php5-0.9.1/samples/signup.php</p>
<h3>2.1 このサンプルアプリケーションは php_soap.dll が必要となります。</h3>
<p>下記のようなエラーが発生した場合、 php_soap.dll　の設定を行います。</p>
<pre class="brush:php;">PHP Fatal error:  Class 'SoapClient' not found in C:xxxx\0work\ssp-php5-0.9.1\soapclient\SforceBaseClient.php on line 57</pre>
<p>php.ini の編集および php_soap.dll を拡張フォルダに設置した後、ＩＩＳを再起動します。</p>
<div class="wp-caption alignnone" style="width: 330px"><a href="http://public.bay.livefilestore.com/y1pXXYbTwTEx4yssyZ_ZMF6YDMcNLqth7ijlxpcmRBYIkfaWnCPQRNURd6gnfBbpIrZzYrInx41WTbbgy-hPgyh_w/php_ini_soap.jpg"><img class=" " src="http://public.bay.livefilestore.com/y1pXXYbTwTEx4yssyZ_ZMF6YDMcNLqth7ijlxpcmRBYIkfaWnCPQRNURd6gnfBbpIrZzYrInx41WTbbgy-hPgyh_w/php_ini_soap.jpg" alt="php_soap.dll" width="320" /></a><p class="wp-caption-text">php_soap.dll</p></div>
<h3>2.2  force.com との連携設定</h3>
<p>/ssp-php5-0.9.1/samples/<strong>config.ini</strong> ファイルに force.com との連携用のユーザー名とバスワードを設定します。</p>
<pre class="brush:php;">　goldenUsername = "xxxx@xxxx.com"
　goldenPassword = "パスワード＋セキュリティートークン"
　sspPassword = "A_SSP_Password"
　accountName = "IBM"
　sf_wsdl     = "partner.wsdl.xml"</pre>
<p>この設定が正しくない場合、以下のようなエラーとなります。</p>
<pre class="brush:php;">There was a problem logging in as the golden user.
The SOAP error message was: INVALID_LOGIN: Invalid username, password, security token; or user locked out.</pre>
<div class="wp-caption alignnone" style="width: 330px"><a href="http://public.bay.livefilestore.com/y1pEsSoDg8JIrE3zvgo-uzzgFaKiKLeLoAdOznf5MqP0yp-ybUn270G93Ck5nDpRh4_Z33KHQzTiCTJojFNUhs52A/salseforce_php_sample_err.jpg"><img class=" " title="Invalid_Login_User" src="http://public.bay.livefilestore.com/y1pEsSoDg8JIrE3zvgo-uzzgFaKiKLeLoAdOznf5MqP0yp-ybUn270G93Ck5nDpRh4_Z33KHQzTiCTJojFNUhs52A/salseforce_php_sample_err.jpg" alt="http://public.bay.livefilestore.com/y1pEsSoDg8JIrE3zvgo-uzzgFaKiKLeLoAdOznf5MqP0yp-ybUn270G93Ck5nDpRh4_Z33KHQzTiCTJojFNUhs52A/salseforce_php_sample_err.jpg" width="320" /></a><p class="wp-caption-text">Invalid_Login_User</p></div>
<h2>3.　サンプルアプリケーションが起動し、実際にデータを登録してみます。</h2>
<p>例.  http://xxxx/ssp-php5-0.9.1/samples/signup.php</p>
<p>- 以下のような表示で処理が停止されることがあります。</p>
<pre class="brush:php;">PHP Notice:  Undefined property: stdClass::$records in C:\xxx\ssp-php5-0.9.1\selfserviceuser\SelfServiceUserUtility.php on line 65
PHP Notice:  Trying to get property of non-object in C:\xxx\ssp-php5-0.9.1\selfserviceuser\SelfServiceUserUtility.php on line 65
PHP Warning:  DOMDocument::save(Users.xml) &#91;&#60;a href="domdocument.save"&#62;domdocument.save&#60;/a&#62;&#93;: failed to open stream: Permission denied in C:\apps\0work\ssp-php5-0.9.1\samples\XMLSecurityHandler.php on line 58</pre>
<p>３行目の Warning は Users.xml への書き込み権限の不足が原因ですので、このファイルへの書き込み権限を付与します。</p>
<p>- IISの場合、 1,2行目の Notice の表示により、以後の</p>
<pre class="brush:php;">　　header('Location: success.php');</pre>
<p>による処理が実行されなくなります。<br />
対応として <strong>php.ini </strong>の error_reporting の設定を変更し、IISを再起動します。</p>
<pre class="brush:php;">  error_reporting  =  E_ALL &amp; ~E_NOTICE</pre>
<p>*  IIS7.5(Windows7, Windows2008  Server R2)ではこの設定は必要ありません。<br />
*  該当のフォルダ配下の web.config に設定で個別の php.ini を指定することができます。</p>
<p>例. <span style="font-family: Consolas; line-height: 18px; font-size: 12px; white-space: pre;">&lt;add name=&#8221;PHP via FastCGI&#8221; path=&#8221;*.php&#8221;　verb=&#8221;*&#8221; modules=&#8221;FastCgiModule&#8221; scriptProcessor=&#8221;C:\php\php-cgi.exe|-c c:\php\php2.ini&#8221;　resourceType=&#8221;Unspecified&#8221; /&gt;</span></p>
<p>ログインに成功すると以下のような画面が表示されます。</p>
<div class="wp-caption alignnone" style="width: 330px"><a href="http://3fqmbq.bay.livefilestore.com/y1p63RPmwt0uJSUg8zIEWrmxzzF5g2zv4xlDw-NhK4abFsZqjzkd3wjxvbZuGu269virQ456DXAj_MUyUu8vXnTZrQCX-kHrPUt/salseforce_php_sample_success.jpg"><img class=" " title="Login_Success" src="http://3fqmbq.bay.livefilestore.com/y1p63RPmwt0uJSUg8zIEWrmxzzF5g2zv4xlDw-NhK4abFsZqjzkd3wjxvbZuGu269virQ456DXAj_MUyUu8vXnTZrQCX-kHrPUt/salseforce_php_sample_success.jpg" alt="Login_Success" width="320" /></a><p class="wp-caption-text">Login_Success</p></div>
<p>作成したユーザー情報は取引先責任者として force.com のサイトに登録されます。</p>
<div class="wp-caption alignnone" style="width: 330px"><a href="http://public.bay.livefilestore.com/y1pCkTT9TVh7UYPJPlmygos7gLE4o-K0034wPsvwBh8dVzK4b2dW_va1Vi7sS6ZLt0hCZVs0xwtI7UgosdMxr5jHQ/salseforce_php_sample_test_account.jpg"><img class=" " title="contact" src="http://public.bay.livefilestore.com/y1pCkTT9TVh7UYPJPlmygos7gLE4o-K0034wPsvwBh8dVzK4b2dW_va1Vi7sS6ZLt0hCZVs0xwtI7UgosdMxr5jHQ/salseforce_php_sample_test_account.jpg" alt="contact" width="320" /></a><p class="wp-caption-text">account</p></div>
<p>また同時に　/ssp-php5-0.9.1/samples/Users.xml にユーザー情報が記録されます。</p>
<p>以上</p>
]]></content:encoded>
			<wfw:commentRss>http://iis.museum-in-cloud.com/wordpress/archives/362/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://iis.museum-in-cloud.com/wordpress/archives/362" />
	</item>
		<item>
		<title>PHP OpenIDをIISで利用する</title>
		<link>http://iis.museum-in-cloud.com/wordpress/archives/346</link>
		<comments>http://iis.museum-in-cloud.com/wordpress/archives/346#comments</comments>
		<pubDate>Mon, 30 Nov 2009 05:30:27 +0000</pubDate>
		<dc:creator>kwin</dc:creator>
				<category><![CDATA[Windows-Maniax]]></category>

		<guid isPermaLink="false">http://iis.museum-in-cloud.com/wordpress/?p=346</guid>
		<description><![CDATA[OpenID（http://www.openidenabled.com/php-openid/） を利用する場合、リダイレクト処理 が行なわれますが IIS7.0では Header 処理の前に print や echo が実行されると この処理が実行されなくなるため注意が必要です。
以下のようなスクリプトはIIS7.0 では header処理 が実行されません。(IIS7.5 や Apache では実行されます）
&#60;?php
 echo “redirect test” ;
 $redirect_url = “http://iis.museum-in-cloud.com” ;
 header(”Location: “.$redirect_url);
?&#62;
以下、実際に IIS7.0 で　PHP OpneID のサンプルプログラムを稼動させるまでの手順を示します。

1. http://www.openidenabled.com/php-openid/ よりライブラリをダウンロード
2.  IISマネージャでアプリケーションを追加し、サンプルアプリケーションを実行してみます。
2.1 　ダウンロードしたファイルを展開
2.2  IISマネージャでアプリケーションを追加


3.  ファイルの修正
3.1  対象ファイル　/php-openid-2.1.3examples/consumer/common.php
先頭に以下を追加します。
  define('Auth_OpenID_RAND_SOURCE', NULL);
作業ファイルの位置を編集します。
   $store_path = "c:/tmp/_php_consumer_dir";
3.2  対象ファイル　/php-openid-2.1.3/Auth/Yadis/ParanoidHTTPFetcher.php
http://curl.haxx.se/docs/caextract.html から cacert.pem ファイルをダウンロードし、保存した位置を　ParanoidHTTPFetcher.php　に記述します。
curl_init の次に　 cacrt.pem [...]]]></description>
			<content:encoded><![CDATA[<p>OpenID（<a href="http://www.openidenabled.com/php-openid/">http://www.openidenabled.com/php-openid/</a>） を利用する場合、リダイレクト処理 が行なわれますが IIS7.0では Header 処理の前に print や echo が実行されると この処理が実行されなくなるため注意が必要です。</p>
<p style="padding-left: 30px;">以下のようなスクリプトはIIS7.0 では header処理 が実行されません。(IIS7.5 や Apache では実行されます）</p>
<pre class="brush:php;">&#60;?php
 echo “redirect test” ;
 $redirect_url = “http://iis.museum-in-cloud.com” ;
 header(”Location: “.$redirect_url);
?&#62;</pre>
<p>以下、実際に IIS7.0 で　PHP OpneID のサンプルプログラムを稼動させるまでの手順を示します。</p>
<p><span id="more-346"></span></p>
<p>1. <a href="http://www.openidenabled.com/php-openid/">http://www.openidenabled.com/php-openid/</a> よりライブラリをダウンロード</p>
<div class="wp-caption alignnone" style="width: 250px"><a href="http://public.bay.livefilestore.com/y1pAGaFPFzSQDMF2HMk_JfeAoPSlFUNMz4pbgpGR2wZTtsMH9Ts9SHVXINNtiN1EpKKSaoI3gPdnQLj6HPU8YYUsw/www.openidenabled.com.jpg"><img class="  " title="http://www.openidenabled.com/php-openid/" src="http://public.bay.livefilestore.com/y1pAGaFPFzSQDMF2HMk_JfeAoPSlFUNMz4pbgpGR2wZTtsMH9Ts9SHVXINNtiN1EpKKSaoI3gPdnQLj6HPU8YYUsw/www.openidenabled.com.jpg" alt="http://www.openidenabled.com/php-openid/" width="240" /></a><p class="wp-caption-text">http://www.openidenabled.com/php-openid/</p></div>
<p>2.  IISマネージャでアプリケーションを追加し、サンプルアプリケーションを実行してみます。</p>
<p>2.1 　ダウンロードしたファイルを展開</p>
<div class="wp-caption alignnone" style="width: 250px"><a href="http://cid-45d1797ade94949f.skydrive.live.com/self.aspx/.Public/Windows/install%5E_maniax/open-id%5E_unzip.jpg"><img class=" " src="http://public.bay.livefilestore.com/y1p9Tw4iYtYBxyPM3zMIzMdfDRPMmDqtQWmfFZrvUKBta4GNYGLjtDzAaX8UakV9ThLCClGmSCgN01FuLNekhtJvQ/open-id_unzip.jpg" alt="ダウンロードしたファイルを展開" width="240" /></a><p class="wp-caption-text">ファイルを展開</p></div>
<p>2.2  IISマネージャでアプリケーションを追加</p>
<div class="wp-caption alignnone" style="width: 250px"><a href="http://public.bay.livefilestore.com/y1paaXx-zU6lRszQMxc65xJ2Alp6jwaZH2JVgP0MQ4tgY2n-mSwEoAQVUEwHNojgscCkn1w0RIyHyPBTZ0qjQLbuw/IIS_PHP-OpenID.jpg"><img class=" " src="http://public.bay.livefilestore.com/y1paaXx-zU6lRszQMxc65xJ2Alp6jwaZH2JVgP0MQ4tgY2n-mSwEoAQVUEwHNojgscCkn1w0RIyHyPBTZ0qjQLbuw/IIS_PHP-OpenID.jpg" alt="IIS Manager" width="240" /></a><p class="wp-caption-text">IIS Manager</p></div>
<p><span style="font-family: verdana, arial, helvetica, sans-serif;"><span style="line-height: 16px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><br />
</span></span></p>
<p>3.  ファイルの修正</p>
<p>3.1  対象ファイル　/php-openid-2.1.3examples/consumer/common.php<br />
先頭に以下を追加します。</p>
<pre class="brush:php;">  define('Auth_OpenID_RAND_SOURCE', NULL);</pre>
<p>作業ファイルの位置を編集します。</p>
<pre class="brush:php;">   $store_path = "c:/tmp/_php_consumer_dir";</pre>
<p>3.2  対象ファイル　/php-openid-2.1.3/Auth/Yadis/ParanoidHTTPFetcher.php</p>
<p><a href="http://curl.haxx.se/docs/caextract.html">http://curl.haxx.se/docs/caextract.html</a> から cacert.pem ファイルをダウンロードし、保存した位置を　ParanoidHTTPFetcher.php　に記述します。</p>
<p>curl_init の次に　 cacrt.pem  ファイルの指定を追記 (<span style="color: #ff0000;">２箇所あるので注意</span>)</p>
<p>また、 Auth_OpenID::log 　の処理により画面にメッセージが表示されることで redirect処理が影響を受けるため、コメントアウトします。</p>
<pre class="brush:php;">while ($redir &amp;&amp; ($off &#62; 0)) {
  $this-&#62;reset();
  $c = curl_init();

  curl_setopt($c, CURLOPT_CAINFO, ‘C:/xxxxx/php-openid-2.1.3/&#60;span style="color: #ff0000;"&#62;cacert.pem&#60;/span&#62;’);
//                Auth_OpenID::log(
//                    ”Successfully fetched ‘%s’: GET response code %s”,
//                    $url, $code);
//            Auth_OpenID::log(”Got no response code when fetching %s”, $url);</pre>
<div>3.3 　対象ファイル　php.ini</div>
<div>error_reporting の設定を変更して notice の表示を停止します。<br />
(この表示も redirect 処理に影響するため)</div>
<pre class="brush:php;">  error_reporting  =  E_ALL &amp; ~E_NOTICE</pre>
<div>
<div>また　extension=php_curl.dll と extension=php_openssl.dll を有効にする必要があります。(　Web Platform Installer で IIS + PHP をインストールした場合、これらの設定は有効になっています)</div>
<p>4.  mixi.jp への redirect を確認</p>
<p><span style="font-family: verdana, arial, helvetica, sans-serif; line-height: 16px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><a style="color: #a63d21; background-color: inherit; text-decoration: none;" rel="nofollow" href="http://localhost/php-openid-2.1.3/examples/consumer/index.php">http://localhost/php-openid-2.1.3/examples/consumer/index.php</a></span></p>
<div class="wp-caption alignnone" style="width: 250px"><a href="http://public.bay.livefilestore.com/y1pm9JVS08ae5wK2IeVLaTf83ug6c3-zDZgRcWWVgcdwh7DKvtGLDMGhotNeu7fb2-_Z9cB2H9LE6_Z997yirtJtA/localhost_examples_consumer.jpg"><img class=" " style="border: 0px initial initial;" src="http://public.bay.livefilestore.com/y1pm9JVS08ae5wK2IeVLaTf83ug6c3-zDZgRcWWVgcdwh7DKvtGLDMGhotNeu7fb2-_Z9cB2H9LE6_Z997yirtJtA/localhost_examples_consumer.jpg" alt="" width="240" /></a><p class="wp-caption-text">サンプル開始画面</p></div>
<div><span style="font-family: verdana, arial, helvetica, sans-serif;"><span style="line-height: 16px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;"><span style="line-height: 19px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;"> にて mixi.jp を指定して実行し mixi のサイトへリダイレクトを確認します。</span></span></span></span></div>
<div><span style="font-family: verdana, arial, helvetica, sans-serif;"><span style="line-height: 16px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;"><span style="line-height: 19px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;"></p>
<div class="wp-caption alignnone" style="width: 250px"><a href="http://public.bay.livefilestore.com/y1pbGv93s7vXoC6zn0azhz-xh-pGKZwZXe2_HT8zSZdD2y5SICWPDVUKiZ4M4iGp8iICW_CgrXr_G5Muu0vEPZZhA/mixi_openid_server.jpg"><img class="  " title="mixi open id" src="http://public.bay.livefilestore.com/y1pbGv93s7vXoC6zn0azhz-xh-pGKZwZXe2_HT8zSZdD2y5SICWPDVUKiZ4M4iGp8iICW_CgrXr_G5Muu0vEPZZhA/mixi_openid_server.jpg" alt="mixi open id" width="240" /></a><p class="wp-caption-text">mixi open id</p></div>
<p>mixi よりリダイレクトにより元のページに戻ります。</p>
<div class="wp-caption alignnone" style="width: 250px"><a href="http://3fqmbq.bay.livefilestore.com/y1pjHMYeLIVwd5wAmqJ3qxg3iFnMBeyP1jyOjSgGkYgkRa2FGWUb-GDRoDwXUvoTOvxI6TkSxXyc4OLb8oJxUOVNifR39oMobaK/www.openidenabled.com_example_success.jpg"><img class=" " src="http://3fqmbq.bay.livefilestore.com/y1pjHMYeLIVwd5wAmqJ3qxg3iFnMBeyP1jyOjSgGkYgkRa2FGWUb-GDRoDwXUvoTOvxI6TkSxXyc4OLb8oJxUOVNifR39oMobaK/www.openidenabled.com_example_success.jpg" alt="認証成功" width="240" /></a><p class="wp-caption-text">認証成功</p></div>
<p>証明書ファイルの設定が正しくない場合、以下のようなエラーとなります。</p>
<div class="wp-caption alignnone" style="width: 250px"><a href="http://public.bay.livefilestore.com/y1p0SQeuhuXxlaInkEN69qqS4PlUf0gNtGQDFw0ygzH9-x2h_XFP4WqBQhnfTFE-Y7AoMWdhor6ACQyI-C_r2ukvA/php-openid-examples.jpg"><img class="  " style="padding: 0px; margin: 0px; border: 0px none initial;" title="php-openid-examples" src="http://public.bay.livefilestore.com/y1p0SQeuhuXxlaInkEN69qqS4PlUf0gNtGQDFw0ygzH9-x2h_XFP4WqBQhnfTFE-Y7AoMWdhor6ACQyI-C_r2ukvA/php-openid-examples.jpg" alt="php-openid-examples" width="240" /></a><p class="wp-caption-text">php-openid-examples</p></div>
<p></span></span></span></span></div>
<p>5.  　サンプルスクリプトなど参考となるサイト</p>
<div><a href="http://maglog.jp/lightbox/Article472154.html">http://maglog.jp/lightbox/Article472154.html</a></div>
<div><a href="http://winofsql.jp/php/openid2/examples/consumer/openid.php">http://winofsql.jp/php/openid2/examples/consumer/openid.php</a></div>
</div>
<div>以上</div>
]]></content:encoded>
			<wfw:commentRss>http://iis.museum-in-cloud.com/wordpress/archives/346/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://iis.museum-in-cloud.com/wordpress/archives/346" />
	</item>
		<item>
		<title>Window Azure Platform 2009/10/14 2/2</title>
		<link>http://iis.museum-in-cloud.com/wordpress/archives/341</link>
		<comments>http://iis.museum-in-cloud.com/wordpress/archives/341#comments</comments>
		<pubDate>Mon, 23 Nov 2009 04:21:15 +0000</pubDate>
		<dc:creator>kwin</dc:creator>
				<category><![CDATA[SaaS(Software as a Service)]]></category>

		<guid isPermaLink="false">http://iis.museum-in-cloud.com/wordpress/?p=341</guid>
		<description><![CDATA[資料前半へ　1/2
Play Video 
Windows Azure Queue PDF
Play Video 
]]></description>
			<content:encoded><![CDATA[<p><a href="http://iis.museum-in-cloud.com/wordpress/index.php/archives/338">資料前半へ　1/2</a><br />
<a href="http://iis.museum-in-cloud.com/wordpress/archives/341#mediaPlayer_341_1">Play Video </a></p>
<p><a href="http://www.museum-in-cloud.com/index.php?imglink=http://public.bay.livefilestore.com/y1pFPYolvrBqq_JzucM-n6rj5H9uP3O1wTDqNaaWwQlMsiLTjiVyH_XMVLhwWkLvZothNNYaI-1_0hBpd3DLDp5nQ/WindowsAzureQueuePDF.jpg&#038;option=tipmage&#038;Itemid=1000">Windows Azure Queue PDF</a><br />
<a href="http://iis.museum-in-cloud.com/wordpress/archives/341#mediaPlayer_341_0">Play Video </a></p>
]]></content:encoded>
			<wfw:commentRss>http://iis.museum-in-cloud.com/wordpress/archives/341/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://iis.museum-in-cloud.com/wordpress/archives/341" />
	</item>
		<item>
		<title>Window Azure Platform 2009/10/14 1/2</title>
		<link>http://iis.museum-in-cloud.com/wordpress/archives/338</link>
		<comments>http://iis.museum-in-cloud.com/wordpress/archives/338#comments</comments>
		<pubDate>Mon, 23 Nov 2009 04:06:56 +0000</pubDate>
		<dc:creator>kwin</dc:creator>
				<category><![CDATA[SaaS(Software as a Service)]]></category>

		<guid isPermaLink="false">http://iis.museum-in-cloud.com/wordpress/?p=338</guid>
		<description><![CDATA[David Chappell 氏による基調講演と、Windows Azure 対応 SaaS アプリケーション開発の概要と設計ポイントPlay Video 
Play Video 
]]></description>
			<content:encoded><![CDATA[<p>David Chappell 氏による基調講演と、Windows Azure 対応 SaaS アプリケーション開発の概要と設計ポイント<a href="http://iis.museum-in-cloud.com/wordpress/archives/338#mediaPlayer_338_1">Play Video </a></p>
<p><a href="http://iis.museum-in-cloud.com/wordpress/archives/338#mediaPlayer_338_0">Play Video </a></p>
]]></content:encoded>
			<wfw:commentRss>http://iis.museum-in-cloud.com/wordpress/archives/338/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://iis.museum-in-cloud.com/wordpress/archives/338" />
	</item>
	</channel>
</rss>
