PHP8 Microsoft Windows 下的 Apache 2.x

2023-08-09 16:38 更新

本節(jié)包括在 Microsoft Windows 系統(tǒng)中針對(duì) Apache 2.x 安裝 PHP 的指導(dǎo)與說明。

注意:請(qǐng)先閱讀手工安裝步驟!

強(qiáng)烈建議閱讀 ? Apache 文檔 來加深對(duì) Apache 2.x 服務(wù)器的基本理解。此外在繼續(xù)下去之前考慮先閱讀一下 Apache 2.x 的 ? Windows 下使用說明。

下載最新版本的 ? Apache 2.x 以及適合的 PHP 版本。先完成手工安裝步驟后再回來繼續(xù)將 PHP 集成入 Apache。

Windows 下有三種方法使 PHP 工作于 Apache 2.x 之中??梢砸?handler、CGI、或者 FastCGI 方式運(yùn)行 PHP。

注意: 記住當(dāng)在 Windows 環(huán)境下的 Apache 配置文件中添加路徑值時(shí),所有的反斜線,如 c:\directory\file.ext,應(yīng)轉(zhuǎn)換為正斜線: c:/directory/file.ext。對(duì)目錄來說,也必須由斜線結(jié)尾。

以 Apache handler 方式安裝

需要將以下幾行加入到 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"
注意: 必須使用實(shí)際的 PHP 路徑替換掉上例中的 c:/php/。 確保在 LoadModule 指令中引用的文件位于所指定的位置。 PHP 7 使用 php7apache2_4.dll, PHP 8 使用 php8apache2_4.dll。

以 CGI 方式運(yùn)行 PHP

要更好地理解在 Apache 下運(yùn)行 CGI,請(qǐng)參閱 ? Apache CGI 文檔。

要將 PHP 以 CGI 方式運(yùn)行,需要將 php-cgi 文件放入到用 ScriptAlias 指令所指定的 CGI 目錄中。

然后需要給 PHP 文件中添加 #! 的一行來指明 PHP 可執(zhí)行文件的位置:

示例 #2 Apache 2.xCGI 方式的 PHP

#!C:/php/php.exe
<?php
  phpinfo();
?>
警告:服務(wù)器使用 CGI 方式進(jìn)行部署可能存在幾個(gè)公開的缺陷。請(qǐng)閱讀 CGI 安全一章 以學(xué)習(xí) 如何抵御這些攻擊。

以 FastCGI 方式運(yùn)行 PHP

以 FastCGI 方式運(yùn)行 PHP 比起 CGI 方式有很多優(yōu)點(diǎn)。設(shè)定的方式很直接:

從 ? https://www.apachelounge.com 取得 mod_fcgid,該站點(diǎn)有 Win32 可執(zhí)行文件的下載。按照下載文件中的指示安裝此模塊。

按以下方法配置 web 服務(wù)器,注意用自己系統(tǒng)上的路徑替換其中相應(yīng)的內(nèi)容:

示例 #3 配置 ApacheFastCGI 方式運(yùn)行 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  

此時(shí)具有 .php 后綴的文件將被 PHP FastCGI 所解析執(zhí)行。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)