本節(jié)包括在 Microsoft Windows 系統(tǒng)中針對 Apache 2.x 安裝 PHP 的指導與說明。
注意:
請先閱讀手工安裝步驟!
強烈建議閱讀 ? Apache 文檔 來加深對 Apache 2.x 服務器的基本理解。此外在繼續(xù)下去之前考慮先閱讀一下 Apache 2.x 的 ? Windows 下使用說明。
下載最新版本的 ? Apache 2.x 以及適合的 PHP 版本。先完成手工安裝步驟后再回來繼續(xù)將 PHP 集成入 Apache。
Windows 下有三種方法使 PHP 工作于 Apache 2.x 之中??梢砸?handler、CGI、或者 FastCGI 方式運行 PHP。
注意: 記住當在 Windows 環(huán)境下的 Apache 配置文件中添加路徑值時,所有的反斜線,如 c:\directory\file.ext,應轉(zhuǎn)換為正斜線: c:/directory/file.ext。對目錄來說,也必須由斜線結(jié)尾。
需要將以下幾行加入到 Apache 的 httpd.conf 配置文件中以加載 Apache 2.x 的 PHP 模塊:
示例 #1 PHP 在 Apache 2.x 中作為 handler
# 在 PHP 8.0.0 之前,模塊的名稱是 php7_module LoadModule php_module "c:/php/php8apache2_4.dll" <FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch> # 配置 php.ini 的路徑 PHPIniDir "C:/php"
注意: 必須使用實際的 PHP 路徑替換掉上例中的 c:/php/。 確保在
LoadModule
指令中引用的文件位于所指定的位置。 PHP 7 使用 php7apache2_4.dll, PHP 8 使用 php8apache2_4.dll。
要更好地理解在 Apache 下運行 CGI,請參閱 ? Apache CGI 文檔。
要將 PHP 以 CGI 方式運行,需要將 php-cgi 文件放入到用 ScriptAlias 指令所指定的 CGI 目錄中。
然后需要給 PHP 文件中添加 #!
的一行來指明 PHP 可執(zhí)行文件的位置:
示例 #2 Apache 2.x 下 CGI 方式的 PHP
#!C:/php/php.exe <?php phpinfo(); ?>
服務器使用 CGI 方式進行部署可能存在幾個公開的缺陷。請閱讀 CGI 安全一章 以學習 如何抵御這些攻擊。
以 FastCGI 方式運行 PHP 比起 CGI 方式有很多優(yōu)點。設定的方式很直接:
從 ? https://www.apachelounge.com
取得 mod_fcgid
,該站點有 Win32 可執(zhí)行文件的下載。按照下載文件中的指示安裝此模塊。
按以下方法配置 web 服務器,注意用自己系統(tǒng)上的路徑替換其中相應的內(nèi)容:
示例 #3 配置 Apache 以 FastCGI 方式運行 PHP
LoadModule fcgid_module modules/mod_fcgid.so # php.ini 文件的位置 FcgidInitialEnv PHPRC "c:/php" <FilesMatch \.php$> SetHandler fcgid-script </FilesMatch> FcgidWrapper "c:/php/php-cgi.exe" .php