Microsoft Windows 下的 Apache 2.0.x

本節內含在 Microsoft Windows 系統中針對 Apache 2.0.x 安裝 PHP 的指導與說明。在其它頁面也有 Apache 1.3.x 會員指導與說明

注: 應該先閱讀手動安裝步驟

警示

不推薦將執行緒化 MPM 用於實際運作的 Apache 2 環境中去。用 prefork MPM 替代,或是用 Apache 1。其原因見 FAQ 中的使用執行緒化 MPM 的 Apache2

強烈建議閱讀 Apache 文件來加深對 Apache 2.0.x 伺服器的基本理解。此外在繼續下去之前考慮先閱讀一下 Apache 2.0.x 的 Windows 下使用說明

PHP 和 Apache 2.0.x 相容性注意事項: 已知下列版本的 PHP 可以工作於最近版本的 Apache 2.0.x 之下:

以上版本的 PHP 與 Apache 2.0.40 或更高版本相容。

Apache 2.0 SAPI 支援自 PHP 4.2.0 起。PHP 4.2.3 可工作於 2.0.39,不要用任何其它版本的 Apache 與 PHP 4.2.3 配合。不過推薦的設定是用 PHP 4.3.0 或更高版本與最新版的 Apache2 配合使用。

所有提及的 PHP 版本仍然能工作於 Apache 1.3.x 之下。

警示

Apache 2.0.x 被設計運行於 Windows NT 4.0,Windows 2000 或 Windows XP 之下。目前為止對 Windows 9x 的支援尚未完成,此時尚不指望 Apache 2.0.x 在此類平台下工作。

下載最新版本的 Apache 2.0.x 以及適合的 PHP 版本。先完成手動安裝步驟後再回來繼續將 PHP 整合入 Apache。

Windows 下有兩種方法使 PHP 工作於 Apache 2.0.x 之中。一種是 使用 CGI 可執行程式,另一種是適用 Apache 模組的 DLL。不管哪種都需要編輯 httpd.conf 來配置 Apache 支援 PHP 並重新啟動伺服器。

注: 記住在 Windows 下給 Apache 的配置檔中加入路徑值的時候,所有的反斜線例如 c:\directory\file.ext 必須轉換成正斜線,如 c:/directory/file.ext

以 CGI 模式安裝

需要將以下三行加入到 Apache 的 httpd.conf 配置檔中以設定 CGI:

例子 6-5. PHP 在 Apache 2.0 中的 CGI 模式

ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php

# 對 PHP 4 用這行
Action application/x-httpd-php "/php/php.exe"

# 對 PHP 5 用這行
Action application/x-httpd-php "/php/php-cgi.exe"

警示

若果使用 CGI 模式安裝,則伺服器對於某些可能的攻擊是開放的。請閱讀 CGI 安全一章以學習如何防禦這些攻擊。

以 Apache 模組模式安裝

需要將以下兩行加入到 Apache 的 httpd.conf 配置檔中以設定 Apache 2.0 的 PHP 模組:

例子 6-6. PHP 在 Apache 2.0 中的模組模式

# 對 PHP 4 用這兩行:
LoadModule php4_module "c:/php/php4apache2.dll"
# 別忘了從 sapi 目錄中把 php4apache2.dll 複製出來!
AddType application/x-httpd-php .php

# 對 PHP 5 用這兩行:
LoadModule php5_module "c:/php/php5apache2.dll"
AddType application/x-httpd-php .php

# 配置 php.ini 的路徑
PHPIniDir "C:/php"

注: 記得用自己 PHP 實際所在的路徑置換掉上例中的 c:/php/。要留意在 LoadModule 指令中用的是 php4apache2.dllphp5apache2.dll,而不是 php4apache.dllphp5apache.dll,後者是設計用於 Apache 1.3.x 的。

注: 若果要使用內容協商機制,請閱讀有關 FAQ

警示

不要在安裝中混合使用來自不同 PHP 版本的 DLL。使用下載回來的 PHP 版本中所提供的 DLL 和增加庫是唯一選取。