在Windows Server 2003的IIS6下配置ISAPI方式的PHP,配置方法是,在IIS的“WEB服務(wù)擴(kuò)展”中,添加一個(gè)新的WEB服務(wù)擴(kuò)展,程序后綴為PHP,ISAPI程序?yàn)閜hp5isapi.dll,然后再我的電腦->屬性->高級(jí)->“環(huán)境變量”-“系統(tǒng)變量”中增加變量名PHPRC,數(shù)值為php.ini的路徑,在Internet信息服務(wù)管理器中,選擇網(wǎng)站或應(yīng)用程序的根目錄,打開(kāi)目錄屬性頁(yè)(右鍵選擇“屬性”),再選擇“主目錄”。點(diǎn)擊“配置”按鈕,選擇“映射”Tab頁(yè)。點(diǎn)擊“添加...”,在“可執(zhí)行文件”設(shè)為: c:/php/php5isapi.dll,擴(kuò)展名設(shè)為.php,選擇“確認(rèn)文件是否存在”,然后“確定”保存設(shè)置。重啟服務(wù)器即可完成PHP的配置。
在用IIS整合php時(shí),有兩種方式:ISAPI與CGI模式,這兩種方式,我們都可以看到phpinfo頁(yè)面,但是使用ISAPI模式,無(wú)法讀取環(huán)境變量,所以通過(guò)環(huán)境變量PHPRC設(shè)置的php.ini路徑無(wú)法找到。使用CGI就可以,這樣就不必把好多文件拷到系統(tǒng)文件下。
配置文件(PHP 3中是php3.ini,自PHP 4起是php.ini)在PHP啟動(dòng)時(shí)被讀取。對(duì)于服務(wù)器模塊版本的PHP,僅在
web服務(wù)器啟動(dòng)時(shí)讀取一次。對(duì)于CGI和CLI版本,每次調(diào)用都會(huì)讀取。
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注冊(cè)表位置)
*PHPRC環(huán)境變量
*當(dāng)前工作目錄(對(duì)于CLI)
*web服務(wù)器目錄(對(duì)于SAPI模塊)或PHP所在目錄(Windows下其它情況)
*Windows目錄(C:/windows或C:/winnt),或--with-config-file-path編譯時(shí)選項(xiàng)指定的位置
我在Server2003+php4的環(huán)境下遇見(jiàn)了這個(gè)問(wèn)題,解決的方法是在前面寫(xiě)PATH環(huán)境變量的時(shí)候,添加一個(gè)PHPRC,指向x:/php4/php.ini,重新啟動(dòng)即可,如果實(shí)在還是不行的,最后還有一招就是安裝zend,php加速器,因?yàn)榘惭bzend的時(shí)候,會(huì)指定php.ini的路徑,也會(huì)指定所使用的服務(wù)器是IIS還是Apache,起本質(zhì)是對(duì)注冊(cè)表做了修改,但是我不知道修改了哪個(gè)位置,所以我在上面的操作還是無(wú)效的情況下,最后安裝Zend,終于成功解決問(wèn)題了。
新聞熱點(diǎn)
疑難解答
圖片精選