免責聲明

Disclaimer (免責聲明)
繼續閱覽代表您接受以上的免責聲明.
To continue reading means you accept the above disclaimer.

2014年4月29日 星期二

php + iis + win8

最近(2014.04) 試著在windows 8上 跑dropBox php sdk 的 sample code,
至少得有php 才行. 到php.net 下載 php5.4的zip檔, 該選 thread-safe 還是 non-thread-safe ?
應該是safe比較安全吧 ? 小心駛得萬年船?  -->  莫非 non-thread-safe 才對 ? [***]

解壓縮之後, 將php.exe的目錄加入環境變數的Path裡,

在命令列(command line, command prompt)執行
php ./examples/authorize.php  ...
php .examples/account-info.php ...
都 OK,

But

php ./examples/web-file-browser.php  ...
試了好幾次都不行 ...

只好回頭來檢查 iis 與 php 的設定,
多次參拜google 大神後, 終於發現指示 :

//===
0. 比較新也比較方便的做法就是先安裝Web Platform Installer(WebPI),
1. 執行WebPI , search php, 找到最近的php5.4.24, 按下Add,
    WebPI的左下角會顯示所選擇的套件數目 ...

2. WebPI 自動將php 安裝於
    C:\Program Files (x86)\iis express\PHP\v5.4   , 並加入 Path
    所以得將之前手動安奘所加的路徑移除 避免打架

3. 於C:\inetpub\wwwroot 建立 info.php 測試網頁
    <?php phpinfo(); ?>

4. http://localhost/info.php ... 又失敗!!!
    看看錯誤訊息 :  iis 尚未加入php 的handler. 根據 [2] 還需要加入 module mapping:

Admin Tools -> IIS manager  ->  雙擊(double click) "Handler mappings"
-> 右邊panel 上方 點選Add Module Mapping ...

//=== add module mapping
Request path: *.php
Module: FastCGImodule
Executable: C:\Program Files(x86)\php\v5.4\php-cgi.exe
Name: phpFastCgi

5. restart Default Web Site,  refresh http://localhost/info.php ,
   終於看到phpinfo()的結果了.

6. 其實還是可以手動安裝, 不過要自己去更改php.ini裡的諸多設定 [2][***]

[ref]
1.  http://support.microsoft.com/kb/2819022

2.  http://www.iis.net/learn/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php

3. enable fastCGI
http://www.iis.net/learn/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php


***
根據 [2] [3], 在Windows 上 應該下載 non-thread-safe (nts) 的版本, 檔案名稱中含有-nts-
[2][3] 都建議要用FastCGI 模式, 而非 ISAPI ...

沒有留言:

張貼留言