呼 想當初也對PHP摸了快一個月 加上職訓學的也有將近一季
但說真的一入職場用不到就忘光.....最近興起了想試著寫些簡單的東西試手,就翻了VB但又突然想起了PHP...(還真是漂丫)
好吧趁著還有想法就加油點 至少先把程式用上電腦在說
才發現原來現在PHP以經可以和IIS結合了(早就可以了好唄....)
已下就真對安裝過程及找到的資料進行說明囉 我的組合 IIS77.5+PHP+MSSQL+WIN7
1.設定糸統環境 IIS7.5 並啟動CGI功能(M$說了算Orz) -- ISAPI 存屬個人需求 於5.3已被PHP將功能關閉 --
2.安裝PHP(可用安裝版 但此處只接使用zip版本並進行解壓及設定php.ini)
安裝版本 從網上的大大測試下來 並不一定要X64版本 而我在php.net上也找不到新版中有指出這部份需求的 現在想想其最主要是需M$ Microsoft 2008 C++ Runtime (x64) orMicrosoft 2008 C++ Runtime (x86) 並配上 VC9的版本即可 至於2者建議都中 不然你可然會得到 500 一張
錯誤碼不一定一樣啦 而且原因也不僅是此轉髮套件導致 下面在述
3.設定IIS對應模組
到IIS管理員中進行處理常式對應(此功能就是告知 遇到php網頁 麻煩就用php-cgi.exe 進行處理
名稱是給人看的 上面是M$說的 至於你想打啥當然隨意但不然和其它名稱重複(若未安裝IIS CGI功能則無法建立此模組)
5.建立phpinfo.php 並測試
phpinfo.php檔案的內容如下:
<?php
phpinfo();
?> 並將其放在 C:\inetpub\wwwroot\ 下即可
在瀏覽器中輸入:http://localhost/phpinfo.php,若看到以下的畫面,那代表你的PHP已經正常的運作中!
原則上整個安裝就是如此 但我想如果僅按我上面的資料大該還是只能乖乖的領500
其中針對幾個項目進行補充
設定PHP資料夾存取權限 需提供 IIS_USER的存取權限 至於Network Services 就看你的環境需求
設定PHP.INI
將 PHP 檔案解壓縮到 C:\php (解壓縮後此目錄下應是數個檔案夾)
將 php.ini-production 更名為 php.ini (當然建議複製後更名 這樣想還回原始檔時可輕鬆搞定)
ISAPI 配置方式已經被 PHP 5.3 廢掉了,因此之後請採用 FastCGI 連接吧,好處是不必 copy 檔案到系統資炓夾了,但 php.ini 設定上會複雜一些。(這真是麻煩啊.. 分為必改和選改來解說好了)
php.ini(必改)
找到 ; extension_dir = "ext" 改成 extension_dir = "ext"
找到 ;cgi.force_redirect = 1 改成 cgi.force_redirect = 0
找到 ;cgi.fix_pathinfo=1 改成 cgi.fix_pathinfo=1
找到 ;fastcgi.impersonate = 1; 改成 fastcgi.impersonate = 1
找到 ;extension=php_mbstring.dll 改成 extension=php_mbstring.dll
找到 ;extension=php_mysql.dll 改成 extension=php_mysql.dll 應我的目標是MSSQL 所以此部份當然是不然要
找到 ;date.timezone = 改成 date.timezone = "Asia/Taipei"
(如果你不在台灣,請改成你的時區.. )
php.ini(選改)
short_open_tag = Off 改為 short_open_tag = On
官方說已建議 N 年了,要把 <? 語法 ?> 寫成 <?php 語法 ?>,如今終於關閉了,若仍有需要就打開它吧,長遠之計是把你的習慣改了。
error_reporting = E_ALL & ~E_DEPRECATED 改為
error_reporting = E_ERROR & ~E_NOTICE & ~E_WARNING
有一些 function 官方未來的版本將不再支援了,假如你還在用 split() 等 function,不改這裡你的語法將會出錯(PHP Deprecated),但以長久之計還是把一些 function 改掉吧。
將 php.ini 存檔後關閉
到這裡我終於沒領到 500了 (其實還是有啦 但因和資料庫連線所需dll有關在此就不提了...)
相關參考 http://mirlab.org/users/chchen/note/phpAndMySQL_on_Win7_x64_IIS7.asp?title=%A6bWindows%207%20x64%A5%AD%A5x%AA%BAIIS%AC%5B%B3%5DPHP%BBPMySQL
http://blog.raienet.com/429
http://forums.iis.net/t/1162201.aspx 最後領的500 才知道原來只是單純的phpinfo 就會進行DB 連線測試 Orz