使IIS支持PHP,ISAPI或CGI,FastCGI完全配置教程(最新php5.2.13配置方法)_Web服務(wù)器教程
使IIS支持PHP,ISAPI或CGI,F(xiàn)astCGI完全配置教程(最新php5.2.13配置方法),我是比較完整的一個版本,對可能出現(xiàn)的問題給出了具體的解決方法.
在Windows Server 2003的IIS6下配置ISAPI方式的PHP,配置方法是,在IIS的“WEB服務(wù)擴(kuò)展”中,添加一個新的WEB服務(wù)擴(kuò)展,程序后綴為PHP,ISAPI程序?yàn)閜hp5isapi.dll,然后再我的電腦->屬性->高級->“環(huán)境變量”-“系統(tǒng)變量”中增加變量名PHPRC,數(shù)值為php.ini的路徑,在Internet信息服務(wù)管理器中,選擇網(wǎng)站或應(yīng)用程序的根目錄,打開目錄屬性頁(右鍵選擇“屬性”),再選擇“主目錄”。點(diǎn)擊“配置”按鈕,選擇“映射”Tab頁。點(diǎn)擊“添加...”,在“可執(zhí)行文件”設(shè)為: c:\php\php5isapi.dll,擴(kuò)展名設(shè)為.php,選擇“確認(rèn)文件是否存在”,然后“確定”保存設(shè)置。重啟服務(wù)器即可完成PHP的配置。
以上紅色部分不用做,因?yàn)橛肐SAPI配PHP,不讀系統(tǒng)變量(CGI方式才讀),相關(guān)權(quán)限設(shè)置如下:
<網(wǎng)頁所在文件夾配置“IUSR_***”的讀權(quán)限,如果要寫的就給修改權(quán)限
PHP文件所在文件夾配置“NETWORK SERVICE”和“IUSR_***”的讀權(quán)限。
php.ini文件給“NETWORK SERVICE”讀權(quán)限
考到SYSTEM32目錄的DLL文件要給“IUSR_**”的讀取和運(yùn)行權(quán)限
解壓縮 PHP 二進(jìn)制壓縮包到 D:\php 目錄下
然后打開“我的電腦”->“屬性”->“高級”->“環(huán)境變量”->“系統(tǒng)變量”->“path”,編輯其值,在前面增加下面的路徑地
址:
;D:\php;D:\php\ext(注意前面的分號)
將 php.ini-dist 或 php.ini-recommended 復(fù)制到 C:\Windows 目錄下,并改名為 php.ini
一般正式發(fā)布網(wǎng)站的服務(wù)器用php.ini-recommended 安全性高
而作為調(diào)試用的服務(wù)器用php.ini-dist 更好
當(dāng)然一般情況下,這個 php.ini 還是需要根據(jù)實(shí)際情況來修改的。
下面來介紹一下幾個必要的修改選項(xiàng):
復(fù)制libmysql.dll到System32目錄
extension_dir = "D:\php\ext"
這個是 PHP 擴(kuò)展所放置的目錄,請確保跟你實(shí)際安裝的目錄相同。
設(shè)置正確的時區(qū):
找到“date.timezone”設(shè)置成:date.timezone = PRC
以下操作選擇性的打開或關(guān)閉PHP擴(kuò)展
extension=php_mssql.dll
extension=php_mysql.dll
上面這些,開頭沒有加分號的是打開的擴(kuò)展,加了分號的是沒有打開的擴(kuò)展。
session.save_path = c:\sessions
這個是 session 文件默認(rèn)保存的目錄,這個目錄必須是一個存在的目錄,不然默認(rèn)的 session 功能會無效。我這里設(shè)置的是一個 ramdisk 上的一個目錄。將 session.save_path 設(shè)置在 ramdisk 上可以加快 session 處理的速度。如果你沒有安裝 ramdisk,你可以把它指定到其他盤的任何一個目錄下,如 C:\sessions 目錄、C:\Windows\Temp 目錄等。
OK,基本工作作完了,現(xiàn)在該配置 IIS 了。
打開“ Internet 信息服務(wù)(IIS)管理器”,在“ Web 服務(wù)擴(kuò)展”里,選擇“添加一個新的 Web 服務(wù)擴(kuò)展”,擴(kuò)展名可填寫
“PHP ISAPI 擴(kuò)展”,要求的文件選擇:D:\php\php5isapi.dll(如果安裝的是 PHP4,則此處是 C:\php\sapi\php4isapi.dll
,下同),并設(shè)置擴(kuò)展?fàn)顟B(tài)為允許。
打開“網(wǎng)站”->“屬性”->“ISAPI 篩選器”->“添加”,篩選器名稱可填寫“PHP”,可執(zhí)行文件仍然選擇
D:\php\php5isapi.dll。
打開“網(wǎng)站”->“屬性”->“主目錄”->“應(yīng)用程序設(shè)置”->“配置”->“應(yīng)用程序擴(kuò)展”->“添加”,可執(zhí)行文件還是選擇
在用IIS整合php時,有兩種方式:ISAPI與CGI模式,這兩種方式,我們都可以看到phpinfo頁面,但是使用ISAPI模式,無法讀取環(huán)境變量,所以通過環(huán)境變量PHPRC設(shè)置的php.ini路徑無法找到。使用CGI就可以,這樣就不必把好多文件拷到系統(tǒng)文件下。
配置文件(PHP 3中是php3.ini,自PHP 4起是php.ini)在PHP啟動時被讀取。對于服務(wù)器模塊版本的PHP,僅在
web服務(wù)器啟動時讀取一次。對于CGI和CLI版本,每次調(diào)用都會讀取。
php.ini的搜索路徑如下(按順序):
* SAPI模塊所指定的位置(Apache2中的PHPIniDir指令,CGI和CLI中的-c命令行選項(xiàng),NSAPI
中的php_ini參數(shù),THTTPD中的PHP_INI_PATH環(huán)境變量)
*HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath(Windows注冊表位置)
*PHPRC環(huán)境變量
*當(dāng)前工作目錄(對于CLI)
*web服務(wù)器目錄(對于SAPI模塊)或PHP所在目錄(Windows下其它情況)
*Windows目錄(C:\windows或C:\winnt),或--with-config-file-path編譯時選項(xiàng)指定的位置
我在Server2003+php4的環(huán)境下遇見了這個問題,解決的方法是在前面寫PATH環(huán)境變量的時候,添加一個PHPRC,指向x:\php4\php.ini,重新啟動即可,如果實(shí)在還是不行的,最后還有一招就是安裝zend,php加速器,因?yàn)榘惭bzend的時候,會指定php.ini的路徑,也會指定所使用的服務(wù)器是IIS還是Apache,起本質(zhì)是對注冊表做了修改,但是我不知道修改了哪個位置,所以我在上面的操作還是無效的情況下,最后安裝Zend,終于成功解決問題了。
- 推薦!各類建站程序偽靜態(tài)規(guī)則代碼
- 詳細(xì)的DedeCMS(織夢)目錄權(quán)限安全設(shè)置教程
- iis安全設(shè)置全方位教程
- 巧妙出招致勝服務(wù)器管理
- Win Server 2003個人網(wǎng)絡(luò)服務(wù)器安全攻略
- Windows 2003校園Web服務(wù)器常見問題
- 清除IIS配置文件后門隱患
- Web服務(wù)器和應(yīng)用程序服務(wù)器有什么區(qū)別
- 虛擬主機(jī)下asp.net 2.0的導(dǎo)航控件treeview,menu等出錯
- IIS6.0服務(wù)器架站無法訪問解決方案總結(jié)
- 圖解支持多語言環(huán)境的IIS服務(wù)器配置
- IIS服務(wù)器排錯指南及錯誤代碼大全
- 相關(guān)鏈接:
復(fù)制本頁鏈接| 搜索使IIS支持PHP,ISAPI或CGI,FastCGI完全配置教程(最新php5.2.13配置方法)
- 教程說明:
Web服務(wù)器教程-使IIS支持PHP,ISAPI或CGI,FastCGI完全配置教程(最新php5.2.13配置方法)
。