<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/install.windows.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ja',
  ),
  'this' => 
  array (
    0 => 'install.windows.apache2.php',
    1 => 'Apache 2.x （Microsoft Windows 用）',
    2 => 'Apache 2.x （Microsoft Windows 用）',
  ),
  'up' => 
  array (
    0 => 'install.windows.php',
    1 => 'Windows システムへのインストール',
  ),
  'prev' => 
  array (
    0 => 'install.windows.manual.php',
    1 => 'ビルド済みバイナリの手動インストール',
  ),
  'next' => 
  array (
    0 => 'install.windows.iis.php',
    1 => 'Windows の IIS と一緒にインストール',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ja',
    'path' => 'install/windows/apache2.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="install.windows.apache2" class="sect1">
 <h2 class="title">Apache 2.x （Microsoft Windows 用）</h2>
 <p class="para">
  このセクションでは、Microsoft Windows 上の Apache 2.x で PHP
  をインストールする場合の説明とヒントを記しています。
 </p>
 <blockquote class="note"><p><strong class="note">注意</strong>: 
  <p class="para">
   まず始めに、
   <a href="install.windows.manual.php" class="link">マニュアルインストールの手順</a> 
   をお読みください。
  </p>
 </p></blockquote>

 <p class="para">
  <a href="http://httpd.apache.org/docs/current/" class="link external">&raquo;&nbsp;Apache ドキュメンテーション</a>
  を参照し、Apache 2.x サーバーの基本を理解しておくことを強く推奨します。
  また、以下の解説を読む前に、Apache 2.x に関する
  <a href="http://httpd.apache.org/docs/current/platform/windows.html" class="link external">&raquo;&nbsp;Windows 固有の情報</a>
  についても参照するとよいでしょう。
 </p>

 <p class="para">
  最新の <a href="https://www.apachelounge.com/download/" class="link external">&raquo;&nbsp;Apache 2.x</a> と、
  対応するバージョンの PHP をダウンロードしてください。
  <a href="install.windows.manual.php" class="link">マニュアルインストールの手順</a>
  を実施したら、引き続き以下のとおり PHP と Apache の設定を行ってください。
 </p>

 <p class="para">
  PHP を Windows 上の Apache 2.x で動かすには三通りの方法があります。
  PHP をハンドラとして動かす方法、CGI として動かす方法、そして
  FastCGI で動かす方法です。
 </p>

 <blockquote class="note"><p><strong class="note">注意</strong>: <span class="simpara">Windows 上で
Apache 設定ファイルにパスの値を追加する際、例えば
<var class="filename">c:\directory\file.ext</var> に含まれるすべてのバックスラッシュは
<var class="filename">c:/directory/file.ext</var> のように前向きスラッシュに変換する必要があります。
また、ディレクトリを表す際には最後にスラッシュをつけなければなりません。
</span></p></blockquote>

 <div class="sect2" id="install.windows.apache2.module">
  <h3 class="title">Apache ハンドラとしてインストール</h3>
  <p class="para">
   Apache 2.x 用の PHP モジュールを読み込むには、
   以下の行を Apache 設定ファイル <var class="filename">httpd.conf</var> に追加しなければいけません:
   <div class="example" id="example-1">
    <p><strong>例1 PHP を Apache 2.x ハンドラとして使う設定</strong></p>
    <div class="example-contents">
<div class="apache-confcode"><pre class="apache-confcode"># PHP 8.0.0 より前のバージョンでは、モジュール名は php7_module でした。
LoadModule php_module &quot;c:/php/php8apache2_4.dll&quot;
&lt;FilesMatch \.php$&gt;
    SetHandler application/x-httpd-php
&lt;/FilesMatch&gt;
# configure the path to php.ini
PHPIniDir &quot;C:/php&quot;</pre>
</div>
    </div>

   </div>
  </p>
  <blockquote class="note"><p><strong class="note">注意</strong>: 
   <span class="simpara">
    上の例の <var class="filename">C:/php/</var>
    は実際のパスにあわせて修正してください。
    <code class="literal">LoadModule</code> ディレクティブで
    PHP 7 の場合 <var class="filename">php7apache2_4.dll</var> を、
    PHP 8 の場合 <var class="filename">php8apache2_4.dll</var> を使うことに注意し、
    指定したファイルが実際にその場所にあるかどうかを忘れずに確認しましょう。
   </span>
  </p></blockquote>
 </div>

 <div class="sect2" id="install.windows.apache2.cgi">
  <h3 class="title">CGI として PHP を実行させる</h3>

  <p class="para">
   <a href="http://httpd.apache.org/docs/current/howto/cgi.html" class="link external">&raquo;&nbsp;Apache CGI
   ドキュメント</a> を読み、Apache 上の CGI について理解しておきましょう。
  </p>

  <p class="para">
   PHP を CGI として実行するには、ScriptAlias
   ディレクティブで CGI ディレクトリとして指定した場所に
   php-cgi ファイルを置かなければなりません。
  </p>

  <p class="para">
   さらに、PHP ファイルに <code class="literal">#!</code> の行を追加して
   PHP バイナリの場所を指定しなければなりません:

   <div class="example" id="example-2">
    <p><strong>例2 PHP を Apache 2.x 上で CGI として動かす例</strong></p>
    <div class="example-contents">
<div class="cdata"><pre>
#!C:/php/php.exe
&lt;?php
  phpinfo();
?&gt;
</pre></div>
    </div>

   </div>
  </p>
  <div class="warning"><strong class="warning">警告</strong><p class="para">
CGI モードで公開したサーバーは、いくつかの脆弱性の標的となる可能性があります。
これらの攻撃からサーバーを守る方法については、
<a href="security.cgi-bin.php" class="link">CGI セキュリティ</a>
のセクションを参照してください。</p></div>
 </div>

 <div class="sect2" id="install.windows.apache2.fastcgi">
  <h3 class="title">PHP を FastCGI で実行する</h3>

  <p class="para">
   PHP を FastCGI で動かすことは、
   CGI として動かすのにくらべると多くの利点があります。
   設定方法は単純明快です。
  </p>
  <p class="para">
   まず mod_fcgid を
   <a href="https://www.apachelounge.com/download/" class="link external">&raquo;&nbsp;https://www.apachelounge.com</a>
   から取得します。Win32 用のバイナリがこのサイトからダウンロードできます。
   そして、説明に従ってモジュールをインストールしましょう。
  </p>
  <p class="para">
   次にウェブサーバーを以下のように設定します。
   パスの部分は適切に変更し、インストールするシステム上の環境にあわせましょう:

   <div class="example" id="example-3">
    <p><strong>例3 PHP を FastCGI として動かす Apache の設定</strong></p>
    <div class="example-contents">
<div class="cdata"><pre>
LoadModule fcgid_module modules/mod_fcgid.so
# Where is your php.ini file?
FcgidInitialEnv PHPRC        &quot;c:/php&quot;
&lt;FilesMatch \.php$&gt;
    SetHandler fcgid-script
&lt;/FilesMatch&gt;
FcgidWrapper &quot;c:/php/php-cgi.exe&quot; .php
</pre></div>
    </div>

   </div>

   これで、拡張子 <code class="literal">.php</code> のファイルは PHP FastCGI
   ラッパーが処理するようになります。
  </p>
 </div>
</div><?php manual_footer($setup); ?>