Microsoft Windows 下的 Apache 1.3.x

本節內含在 Microsoft Windows 平台的 Apache 下安裝 PHP 的說明和提示。在另外的頁面也有 Apache 2 的安裝和說明

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

有兩種模式讓 PHP 工作在 Windows 下的 Apache 1.3.x 中。首先是使用 CGI 可執行程式(PHP 4 下為 php.exe,PHP 5 下為 php-cgi.exe),另外一種模式是使用 Apache 模組 DLL。無論是那種模式,都需要修改 httpd.conf 來配置 Apache,使 PHP 能夠在其上運行,然後都需要重啟服務。

值得注意的是,現在 Windows 下的 SAPI 模組已經穩定得多,我們建議首先考慮使用 SAPI 而不要使用 CGI 可執行程式。因為 SAPI 更加透明和安全。

雖然還有些其它的方法來在 Apache 下配置 PHP,下面介紹的方法是最簡單並適用於新手的。請參考 Apache 的文件以獲得更多的配置參數。

在修改完配置檔後,請記得重啟 Apache 服務。例如,若果把 Apache 作為 Windows 的一個服務來運行,那麼在指令提示行下使用 NET STOP APACHE 指令然後再使用 NET START APACHE 指令便可重啟服務。也可以使用重啟 Apache 服務的捷徑來重啟。

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

作為 Apache 的模組安裝

應該將下面幾行加入 Apache 的 httpd.conf 檔案:

例子 6-3. PHP 作為 Apache 1.3.x 的一個模組

這裡假設 PHP 安裝在 c:\php。若果不是這樣請根據情況修改路徑。

對於 PHP 4:

# 在 LoadModule 一節的末尾增加
# 不要忘記將該檔案從 sapi 複製出來
LoadModule php4_module "C:/php/php4apache.dll"

# 在 AddModule 一節的末尾增加
AddModule mod_php4.c

對於 PHP 5:

# 在 LoadModule 一節的末尾增加
LoadModule php5_module "C:/php/php5apache.dll"

# 在 AddModule 一節的末尾增加
AddModule mod_php5.c

兩個 PHP 版本都需要增加的內容:

# 將下面這行新增到 <IfModule mod_mime.c> 條件塊中
AddType application/x-httpd-php .php

# 若果要使用語法高亮的 .phps 檔案,需要增加
AddType application/x-httpd-php-source .phps

作為 CGI 可執行檔案的安裝

若果按照手動安裝步驟將 PHP 解壓到 C:\php\,需要在 Apache 的配置檔中增加如下內容以使 PHP 按照 CGI 模式運行:

例子 6-4. PHP 以 CGI 模式運行在 Apache 1.3.x

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"

# 指定 php.ini 所在目錄
SetEnv PHPRC C:/php
請注意第二行的配置可以在預設的 httpd.conf 中找到,但是是被注解掉的。也請記得將 c:/php/ 置換為 PHP 所在的真實路徑。

警示

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

若果想發佈語法高亮的 php 檔案,沒有類似於模組模式下 PHP 那種方便的方法。選取了使用 CGI 模式運行 PHP,需要使用 highlight_file() 函數來進行語法高亮。建立一個 PHP 檔案,加入下述代碼即可:<?php highlight_file('some_php_script.php'); ?>