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