win2003 IIS6.0配置php環境未載入php5isapi.dll解決辦法

來源:互聯網
上載者:User

首先,從PHP官方網站:http://www.php.net/downloads.php下載PHP壓縮包,飄易在寫這篇文章的時候,最新版本是PHP 5.2.10。因為是win2003環境,我們下載Windows Binaries下的 “PHP 5.2.10 zip package [10,242Kb]” 即可。下載後,解壓縮至 C:php 目錄裡(建立php目錄)。     第二,開啟c:php目錄,將PHP目錄(C:/PHP)下的 php.ini-dist 檔案重新命名為 php.ini,PHP的設定檔就是它,修改以下幾個地方,修改好後把 php.ini 檔案複製到 C:WINDOWS 目錄裡: extension_dir="C:phpext" ,指向php檔案夾下放置“php_*.dll”檔案的路徑。PHP4和PHP5的路徑在這裡有所區別。
default_charset="gb2312" ,修改預設字元集,這裡,如果前面有分號“;”,去掉這個分號;
register_globals=Off 改為 register_globals=On ,使傳遞全域變數有效;
extension=php_dba.dll 如果前面有分號,取消分號,以下同;
extension=php_dbase.dll
extension=php_gd2.dll  GD庫做圖,一般用於圖形驗證碼;
extension=php_mysql.dll  用於串連MYSQL資料庫;
magic_quotes_gpc = On  如果是 Off,一定要開啟為 On,這是防止sql攻擊的重要的一步!5.0版本已經預設 On 了。     第三、將PHP目錄下的 php5ts.dll 檔案拷貝到 C:WINDOWS 下。     第四、配置IIS下PHP擴充,這是重點。 1:開啟IIS,在需要支援PHP的網站上點右鍵選擇“屬性”。 2:找到“主目錄”標籤,點擊“應用程式設定”裡右下角的“配置”按鈕。 3:在“應用程式擴充”視窗中,點擊“添加”,可執行檔路徑 c:/php/php5isapi.dll 檔案,副檔名輸入 .php,這樣在解析過程中將自動調用php5isapi.dll解釋PHP語言。另外還需要把“指令碼引擎”和“檢查檔案是否存在”選中。如下圖:

這裡有需要注意的地方,飄易覺得為了安全必須把沒必要的擴充全部刪掉,只留下必要的副檔名。如果使用mdb資料庫即access,需要把mdb尾碼的解析到非asp.dll解析的指令碼上,如:C:WINDOWSsystem32inetsrvuihelper.dll,具體如下圖:

4:點擊網站屬性視窗的“ISAPI篩選器”標籤,添加篩選器,篩選器名稱:php,可執行檔:C:phpphp5isapi.dll,確定。

 

5:點擊屬性視窗中的“文檔”,添加index.php,default.php

6:返回IIS管理器,在“web服務擴充”裡添加新的服務擴充,副檔名:php,要求的檔案:C:phpphp5isapi.dll,“設定擴充狀態為允許”前打鉤。

    到這裡,IIS下配置完畢,重啟IIS即可。在網站下建立 index.php ,裡面寫上一句 <?php echo phpinfo();?> 即可。開啟網站url,看是否正常顯示了php的資訊,如果正常,說明配置成功。     如果c:/php的目錄使用權限設定過於嚴格的話,IIS下的php擴充是無法載入成功的,這就需要我們為 c:/php 目錄加上 everyone 的 讀取和運行、列出檔案夾目錄、讀取許可權 即可。

我的環境是win2003 IIS6.0,php5的目錄是D:php;

所碰到兩個最難的地方就是:php5isapi.dll未載入和無法正常啟動MySQL,現在分享我的解決方案。

【php5isapi.dll未載入】


IIS上設定之後,也開啟了WEB服務擴充中的“所有未知的ISAPI擴充”和“Active server pages”兩項,但回到ISAPI篩選器中寫入的php5isapi.dll要麼就是“狀態:未知”(無表徵圖),要麼就是“狀態:未啟動”(紅色向下箭頭表徵圖)。


解決辦法:

1.首先確定許可權的限制是由兩部分造成的:系統檔案許可權以及伺服器延伸權限,首先來到這個ISAPI連結庫檔案所在的地方,之後給予這個檔案EveryOne的完全控制許可權(你也可以選擇讀取+寫入+執行的許可權組合)。


2.解決伺服器延伸權限:來到IIS6.0的“伺服器擴充”設定頁面,如果你想圖省事,可以直接點擊“允許所有的未知ISAPI”的按鈕,但我並不推薦這樣做,這樣太不安全了!我們在此應當添加一個新的伺服器擴充,副檔名你可以隨便填,檔案就選擇到那個ISAPI連結庫檔案上,然後勾選“將狀態設定為允許”後,儲存。


3.為了使設定生效,請重啟系統,重啟後你的ISAPI擴充就可以正常載入了!

重要要的原因可能是:伺服器做了安全設定,把d:php的everyone許可權去掉了,IIS自然沒法載入php5isapi.dll。

解決辦法:d:php目錄加上everyone使用者 設定許可權為:唯讀就可以了.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.