需要使用其他人所提供的PHP程式,面臨三個選擇:
1、安裝Apache
跟IIS會有相容性的問題,雖然網路上解法不少,因為熟悉度的關係,跳過。
2、把php改寫成asp,再掛載到iis上
後續維護可能會有困擾,跳過。
3、直接在IIS上附掛php
多年前曾經用過,雖然當時只是見習生
參考了這篇【在在 IIS 上安裝與設定 PHP】 的說明,依序
1、下載PHP (http://windows.php.net/download#php-5.6) 選擇的是5.6 X64 Thread Safe版本
2、將步驟1下載的zip檔解壓縮至C:\php
3、將c:\php\php.ini-production copy為php.ini並作下列修改 (有些設定原先為註解,拿掉;即可)
- extension_dir = "ext"
- cgi.force_redirect = 0
- cgi.fix_pathinfo=1
- fastcgi.impersonate = 1
- 找到date區塊,date.timezone = "Asia/Taipei"
- 找到Windows擴展區塊,開啟所需的相關dll (取消註解),例如: extension=php_mbstring.dll extension=php_mysql.dll .. ..
4、設定IIS
(1)打開【處理常式對應】並新增PHP CGI模組
要求路徑 = *.php
模組 = FastCgiModule (下拉選單)
執行檔 = c:\php\php-cgi.exe
名稱 = PHP via FastCGI (為了省事直接依原作者的方式命名)
5、測試php可否正常執行
在iis網頁目錄新增一個index.php,內容如下:
<?php
phpinfo();
?>
後記,
原本是打算直接列出參考文章稍做記錄就好,在REVIEW時才發現,
可能手腦不協調吧~"~
一開始下載的版本(VC11 x86 Non Thread Safe (2016-Jul-21 19:18:58)),並不是我原先想下載的版本(VC11 x64 Thread Safe (2016-Jul-21 19:19:13)).........
甚至在抱著piece of cake的心態下快速設定完成後,直接把要測試的php程式搬到iis目錄下,咦.......這支在原作業環境運作良好的程式為什麼到我手上會水土不服!?
把程式碼註解掉之後,php確實可以檢視了,但....我不是只想顯示網頁文字啊,
原來,問題出在php的資源配置上,也就是在我設定的測試環境中(php.ini),有幾項該程式使用到資源未啟用,例如:
1、原先的作業環境允許使用<? ?>簡單的標識格式,但測試環境(php.ini)未開啟short_open_tag,所以要嘛是改php.ini,不然就把程式的<? ?> 改為<?php ?>。
2、Windows擴展區塊當中,只要程式有使用到的相關dll都要開啟 (extension=xxxxx.dll)。
詳細的php配置可以參考php.ini參數中文說明
方便日後追查,還是把重要步驟記下來好了。