IISにPHP/Zend Frameworkをインストールした時のメモ

一時的にメモを残す。後で整えようと考えている。

次のDLLのうち、先頭に○が付いているものを
C:\WINDOWS\system32 にコピーした。

○fdftk.dll
○gds32.dll
○libeay32.dll
○libmcrypt.dll
○libmhash.dll
○libmysql.dll
○msql.dll
△ntwdblib.dll // 重複したためコピーせず
         (元:2005/05/04、新:2008/05/02)
php5apache.dll
php5apache2.dll
php5apache2_2.dll
php5apache2_2_filter.dll
php5apache2_filter.dll
php5apache_hooks.dll
php5isapi.dll
php5nsapi.dll
php5pi3web.dll
○php5ts.dll
○ssleay32.dll

IISを動かしたところ、スクリプトが実行できない旨のエラーが表示された。
スクリプトのパスを、スペースが入らない形に変更すると成功した(例:「Program Files」→「PROGRA~1」など)

http://framework.zend.com/manual/ja/zend.controller.router.html
に従い、
http://www.helicontech.com/download-isapi_rewrite3.htm
から rewriteモジュール(lite)版をダウンロード、インストール。

php.ini の doc_root は空にする。でないと「No input file specified.」が表示される。
php.ini の設定を変えても動作に反映されていないと思う場合は、一度 IIS のサービスを停止して起動しなおしてみる。

導入する isapi-rewrite モジュールは、バージョン2、httpd.ini を編集するものとする。
バージョン3では、jsもcssもみなindex.phpにリダイレクトされてしまう。おそらく、バージョン3のlite版の制限に引っかかっているものと思われる。


Rewriteモジュールのhttp.iniの内容は次の通り。

[ISAPI_Rewrite]

# Defend your computer from some worm attacks
#RewriteRule .*(?:global.asa|default\.ida|root\.exe|\.\.).* . [F,I,O]
RewriteRule ^/natural-reader/[\w/\%]*(?:\.(?!(?:js|ico|gif|jpg|png|css)$)[\w\%]*$)? /natural-reader/index.php [I]

会社のPCに入れたときのメモをとりあえずウェブ上に置いておいた、という感じになってしまった。

これを見て自宅のPCに入れる際に、思い出した点などをまとめ、改めて整えたい。