當前位置:首頁文章首頁 IT學院 IT技術

IIS6上安裝MySQL,PHP,Zend,phpMyAdmin安裝

作者:  來源:  發(fā)布時間:2011-7-15 14:43:17  點擊:

第一步、安裝 FastCGI For IIS6

3.2.1、 將下載得到的fcgisetup32.msi,雙擊運行進行安裝。

安裝后在 C:\WINDOWS\system32\inetsrv 目錄下產生了五個文件!緢D十二所示】

【圖十二】

同時在 IIS 的 “Web 服務擴展”里多了 FastCGI Handler!緢D十三所示】

【圖十三】

第二步、安裝PHP

由于PHP5.3的全新特效及改進,原有的isapi方式解析PHP腳本已經不被支持,PHP從5.3.0以后的版本開始使用微軟的fastcgi模式,這是一個更先進的方式,運行速度更快,更穩(wěn)定!新版本的PHP5.3通過以往老方法已經不能在IIS上安裝了,下載IIS下的PHP,(注意IIS下要選擇VC9的版本)解壓到所需目錄,該目錄需要給予user讀取運行權限,

3.2.2、 下載 .zip 格式的版本,解壓縮下載的 php-5.3.0-Win32-VC9-x86.zip 文件,并將其復制到:D:\PHP\php5目錄(你可以根據自己的意愿解壓到別的目錄。),并給 IIS 啟動帳戶組或用戶賦予讀取和運行權限!緢D十四所示】

【圖十四】

D:\PHP\php5目錄下的所有dll文件復制到C:\windows\system32下(Windows2000系統(tǒng)為C:\winnt\system32,下同),如果已經有若干同名文件存在,覆蓋即可!緢D十五所示】

【圖十五】

3.2.3、注冊 PHP 到 FastCGI

打開 C:\WINDOWS\system32\inetsrv\fcgiext.ini 文件。

; This is the configuration file for the FastCGI handler for IIS 6.0.

; The FastCGI handler will look for this file in the same directory as

; fcgiext.dll. By default, the FastCGI installer will place this file into

; the %windir%\system32\inetsrv directory.

我個人的理解是,只要“Web 服務擴展”里的 FastCGI Handler 為允許時,在加載 fcgiext.dll 時,會讀取 fcgiext.ini 配置文件的內容,根據里面的配置為每個網站提供映射。

在 [Types] (約第162行)下添加以下配置:

[Types]

php=PHP

[PHP]

ExePath=D:\PHP\PHP5\php-cgi.exe

這里要用:“\”不能用“/”,“php”表示擴展名,“PHP”是配置節(jié)名稱,以“[PHP]”定義。 (選你自己的安裝的目錄,下同。)

D:\PHP\php5目錄下的php.ini-development復制一份,更名為php.ini(還是在當前目錄中)【圖五所示】,再用文本編輯軟件打開這個php.ini(建議使用Notepad2、EditPlus、UltraEdit等各種支持語法高亮顯示的文本編輯軟件)。

3.2.4、 查找:extension_dir = "./" (約第813行)

將其路徑知道你的PHP目錄下的擴展功能目錄中,這里PHP5對應修改為extension_dir = "D:/PHP/php5/ext" 。

再在D:\PHP下建立文件夾,并命名為upload_tmp

查找 ;upload_tmp_dir = (約第879行)

將;upload_tmp_dir =該行的注釋符,即前面的分號”;”去掉,使該行在php.ini文檔中起作用。

upload_tmp_dir是用來定義上傳文件存放的臨時路徑,在這里你還可以修改并給其定義一個決定路徑,需要注意的是,這里設置的目錄必須有讀、寫權限。

這里我設置為upload_tmp_dir = "D:/PHP/upload_tmp/" (這里就是我前面建立的文件夾)

找到:fastcgi.impersonate = 1;約854行這句,把前面的;去掉,

fastcgi.impersonate = 1

如下圖:

找到:short_open_tag= Off;約226行改為

short_open_tag= On

3.2.5、 搜索 ; Windows Extensions,定位到php.ini文件的約942行,將下面列出的常用擴展前面的分號注釋符去掉:

; extension=php_curl.dll

; extension=php_gd2.dll

; extension=php_ldap.dll

; extension=php_mbstring.dll

; extension=php_exif.dll

; extension=php_mysql.dll

; extension=php_mysqli.dll

; extension=php_sockets.dll

; extension=php_xmlrpc.dll

特別提示:Exif擴展是用來顯示圖片的exif信息的,因該擴展需要mbstring支持,所以將extension=php_exif.dll這一行移動到extension=php_mbstring.dll一行的下面。

注意最后一個php_zip.dll這個在我下載下來的php5.3.0的ext內是不存在的,所以如果開啟會報錯誤,如果實在需要這個DLL,可以從PHP5.2中拷貝過去(php5.2.X可以,php5.3.0不行)extension=php_ming.dllphp5.3.0的ext內是也不存在

【圖十六】

;date.timezone = (約第997行)

去掉前面的分號注釋符,這里將其設置為 date.timezone = Asia/Shanghai

找到下面

[Date]

; Defines the default timezone used by the date functions

; http://php.net/date.timezone

; date.timezone =

更改為并去除前面的“;”:

[Date]

; Defines the default timezone used by the date functions

; http://php.net/date.timezone

date.timezone = Asia/Shanghai

如果不改以上的date.timezone可能打開網頁會提示500錯誤

關于時區(qū)設定的說明:

從php5.1.0開始,php.ini里加入了date.timezone這個選項,默認情況下是關閉的,也就是顯示的時間(無論用什么php命令)都是格林威治標準時間,和我們的時間(北京時間)差了正好8個小時,有以下2種方法可以恢復正常的時間。

1、如果要用5.1以上版本,而且不修改php.ini,則需要在關于時間的初始化的語句的上面加上date_default_timezone_set (XXX),或者使用date('Y-m-d G:i:T', strtotime('+8HOUR') )來獲取日期時間;

2、一勞永逸,僅限能修改php.ini。打開php.ini把date.timezone前面的分號去掉,在=后面加XXX,重啟http服務(如apache2或iis等)即可。

關于XXX,大陸內地可用的值是:Asia/Chongqing、Asia/Shanghai、Asia/Urumqi(依次為重慶,上海,烏魯木齊),港臺地區(qū)可用:Asia/Macao、Asia/Hong_Kong、Asia/Taipei(依次為澳門,香港,臺北),還有新加坡:Asia/Singapore,以上沒有北京,不過接著往下看,其他可用的值是:Etc/GMT-8,Singapore ,Hongkong,PRC(中華人民共和國)。

3.2.6、 查找:;session.save_path = "/tmp" (約第1466行)

將前面的分號注釋符去掉,這里將其設置為session.save_path = "D:/PHP/upload_tmp" (這里就是我前面建立的文件夾)

3.2.7、 如果你有遇到無法上傳較大文件或者運行某些程序經常超時,那么可以修改以下內容來調整相關限額:

在大約第440行,

max_execution_time = 30 ; 這個是每個腳本運行的最長時間,根據你的需求更改數值,單位秒

max_input_time = 60 ; 這是每個腳本可以消耗的時間,根據你的需求更改數值,單位也是秒

大約第458行,

memory_limit = 128M ; 這個是腳本運行最大消耗的內存,根據你的需求更改數值,256M。

大約第732行,

post_max_size =10M

表單提交最大數據為10M.此項不是限制上傳單個文件的大小,而是針對整個表單的提交數據進行限制的.

限制范圍包括表單提交的所有內容.例如:發(fā)表貼子時,貼子標題,內容,附件等...根據你的需求更改數值,M是單位:兆。

大約第883行,

upload_max_filesize = 2M ;

上載文件的最大許可大小 ,根據你的需求更改數值,M是單位:兆。

在論壇發(fā)表貼子時,您post_max_size 設為10M,而此項設成了2M,那么您只能上傳最大為2M的附件,且可以同時上傳5個.

3.2.8、 php.ini文件中基本就是作如上修改,其他的你可以根據自己的具體需求修改,可見附后:PHP5.3.0特除配置。然后將該文件保存,再復制一份到C:\Windows下面。如果PHP5是裝在C盤,因這個"備份"文件的存在,會干擾了FastCGI的運行,只有把 C:\php\php.ini 刪除,不刪除有時IIS報500錯!

3.2.9、 配置網站

打開IIS管理器,網站上點右鍵-屬性-主目錄-配置-添加,配置如下圖

【圖十七】

可執(zhí)行文件路徑:C:\WINDOWS\system32\inetsrv\fcgiext.dll

先運行D:\PHP\PHP5\php-cgi.exe如果能進入命令窗口并只有光標,說明FastCGI能正常調用php-cgi,否則會提示錯誤,這點對使用微軟的fastcgi模式很重要。

 

【圖十八】

3.2.10、寫個 php 測試下吧

修改完在IIS上或者命令提示符運行iisreset命令重啟IIS服務,這步很重要!

測試是否安裝成功!

建立一個網站,phpinfo.php文件內容為:

文件:phpinfo.php

phpinfo();

?>

看到類似以下效果說明你的服務器可以跑 php 了。

【圖十九】

3.2.11、安裝過程出現(xiàn)小插曲,如果運行測試文件出現(xiàn)如下提示:

先運行D:\PHP\PHP5\php-cgi.exe如果能進入命令窗口并只有光標,說明FastCGI能正常調用php-cgi,再找以下錯誤解決方法,很重要。

錯誤1,

FastCGI Error

The FastCGI Handler was unable to process the request.

Error Details:

The FastCGI process exited unexpectedly

Error Number: -2147467259 (0x80004005).

Error Description: 未指定的錯誤

HTTP Error 500 - Server Error.

Internet Information Services (IIS)

搜索: register_globals = Off (約第705行)

將Off更改為 On,該行的注釋符,即前面的分號”;”去掉,使該行在php.ini文檔中起作用,即得到 register_globals = On ;

注:這個對于PHP的全局變量功能,考慮有很多PHP程序需要全局變量功能所以打開,打開后請注意PHP程序的嚴謹性,如果不需要全局變量功能,或者出錯,請保持默認Off狀態(tài)。

錯誤2,

fastcgi error

the fastcgi handler was unable to process the request.

--------------------------------------------------------------------------------

error details:

error number: 5 (0x80070005).

error description: 拒絕訪問。

http error 500 - server error.

internet information services (iis)

這個錯誤是由于在解壓php之后,沒有對iis啟動帳戶賦予該目錄的讀取和運行權限.修改文件夾安全屬性,問題解決.

錯誤3,

FastCGI Error

The FastCGI Handler was unable to process the request.

--------------------------------------------------------------------------------

Error Details:

Could not find entry for "php" on site 1960240566 in [Types] section.

Error Number: 1413 (0x80070585).

Error Description: 未指定的錯誤

HTTP Error 500 - Server Error.

Internet Information Services (IIS)

即說明沒有安裝成功!請按照fcgiext.ini 修改配置即可!!

錯誤4,

----------

FastCGI Error

The FastCGI Handler was unable to process the request.

Error Details:

The FastCGI process exited unexpectedly

Error Number: -1073741819 (0xc0000005).

Error Description: Unknown Error

HTTP Error 500 - Server Error.

Internet Information Services (IIS)

--------

我的PHP目錄在C盤

當時配置PHP.INI的時候就在那個安裝目錄編輯好,再復制到windows目錄下的...

結果恰恰是C:\PHP\php.ini 這個"備份"文件的存在 干擾了FastCGI的運行,總是提示我。

把 C:\php\php.ini 刪除,搞定!

隨后用FakeCGI調試工具才搞定原因..

感謝FakeCGI,痛斥我的壞習慣!!!

3.2.12、PHP5.3.0特除配置

一,如何正確調整上傳附件大小限制?

修改 php.ini (Windows 系統(tǒng)在 C:/Windows/system32 下)中的下面幾項:

1. post_max_size =10M

表單提交最大數據為10M.此項不是限制上傳單個文件的大小,而是針對整個表單的提交數據進行限制的.

限制范圍包括表單提交的所有內容.例如:發(fā)表貼子時,貼子標題,內容,附件等...

2.file_uploads = On

是否允許上傳文件,如果為OFF您將不能上傳文件.

3.upload_tmp_dir = "C:\Server_Core\php\upload_tmp\"

上傳文件時系統(tǒng)使用的緩存目錄.如果此目錄所在磁盤空間不足的話您將不能上傳文件.

4.upload_max_filesize =2M

最大上傳文件大小,此項針對上傳文件時單個文件的大小.

與post_max_size之間的關系:

在論壇發(fā)表貼子時,您post_max_size 設為10M,而此項設成了2M,那么您只能上傳最大為2M的附件,且可以同時上傳5個.

修改之后一定要重啟 Web 服務。

注意:很多人遇到修改php.ini后重應WEB服務后仍然不能生效.這種情況應該先確認一下所改的php.ini是不是當前PHP所使用的.

二,EXIF信息服務器配置說明:

1.在php.ini文件中找到;extension=php_mbstring.dll,去掉前面的分號

2.在php.ini文件中找到;extension=php_exif.dll,去掉前面的分號,并將此行移動到extension=php_mbstring.dll,之后。

3.找到[exif]段,把下面語句的分號去掉。

;exif.encode_unicode = ISO-8859-15

;exif.decode_unicode_motorola = UCS-2BE

;exif.decode_unicode_intel = UCS-2LE

;exif.encode_jis =

;exif.decode_jis_motorola = JIS

;exif.decode_jis_intel = JIS

PS:

安裝版PHP的方法:

【圖二十】

點擊NEXT

【圖二十一】

打上勾同意

【圖二十二】

出現(xiàn)安裝路徑,默認路徑,點擊"Next"

【圖二十三】

在這里選擇:IIS FastCGI,再點擊Next

【圖二十四】

然后在模塊里選上

mysql

GD2

Multibyte String

mcrypt

之后點擊"Next",安裝成功!

文章評論

軟件按字母排列: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z