<?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 => 'es',
  ),
  'this' => 
  array (
    0 => 'install.windows.apache2.php',
    1 => 'Apache 2.x en Microsoft Windows',
    2 => 'Apache 2.x en Microsoft Windows',
  ),
  'up' => 
  array (
    0 => 'install.windows.php',
    1 => 'Instalaci&oacute;n en sistemas Windows',
  ),
  'prev' => 
  array (
    0 => 'install.windows.manual.php',
    1 => 'Instalaci&oacute;n manual de los binarios precompilados',
  ),
  'next' => 
  array (
    0 => 'install.windows.iis.php',
    1 => 'Instalaci&oacute;n con IIS para Windows',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    '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 en Microsoft Windows</h2>
 <p class="para">
  Esta sección contiene notas y sugerencias específicas de Apache 2.x instaladas
  con PHP en sistemas Microsoft Windows.
 </p>
 <blockquote class="note"><p><strong class="note">Nota</strong>: 
  <p class="para">
   Se debe leer primero el <a href="install.windows.manual.php" class="link">manual
   de instalación PHP en Windows</a>
  </p>
 </p></blockquote>

 <p class="para">
  Se recomienda consultar la
  <a href="http://httpd.apache.org/docs/current/" class="link external">&raquo;&nbsp;Documentación de Apache</a>
  para obtener un conocimiento básico del servidor Apache 2.x.
  También considere leer las
  <a href="http://httpd.apache.org/docs/current/platform/windows.html" class="link external">&raquo;&nbsp;notas específicas para Windows</a>
  para Apache 2.x antes de seguir leyendo.
 </p>

 <p class="para">
  Descargue la versión más reciente de
  <a href="https://www.apachelounge.com/download/" class="link external">&raquo;&nbsp;Apache 2.x</a>
  y una versión adecuada de PHP. Siga los pasos del
  <a href="install.windows.manual.php" class="link">manual de instalación</a>
  y regrese para continuar con la integración de PHP y Apache.
 </p>

 <p class="para">
  Hay tres formas de configurar PHP para que funcione con Apache 2.x en Windows.
  PHP se puede ejecutar como controlador, como CGI o bajo FastCGI
 </p>

 <blockquote class="note"><p><strong class="note">Nota</strong>: <span class="simpara">Recuerde que al añadir
    valores que representan una ruta en la configuración de Apache bajo Windows,
    todos los backslash, como <var class="filename">c:\directorio\archivo.ext</var>, deben ser
    convertidos a slashes, como
    <var class="filename">c:/directorio/archivo.ext</var>. Un slash final puede
    también ser necesario para los directorios.</span></p></blockquote>

 <div class="sect2" id="install.windows.apache2.module">
  <h3 class="title">Instalación como un controlador de Apache</h3>
  <blockquote class="note"><p><strong class="note">Nota</strong>: 
   <span class="simpara">
    Cuando se utiliza apache2handler SAPI, se debe utilizar la versión
    Thread Safe (TS) de PHP.
   </span>
  </p></blockquote>
  <p class="para">
   Para cargar el módulo PHP en Apache 2.x las siguientes líneas en el
   fichero de configuración <var class="filename">httpd.conf</var> de Apache deben ser añadidas:
   <div class="example" id="example-1">
    <p><strong>Ejemplo #1 PHP y Apache 2.x como controlador</strong></p>
    <div class="example-contents">
<div class="apache-confcode"><pre class="apache-confcode"># before PHP 8.0.0 the name of the module was 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">Nota</strong>: 
   <span class="simpara">
    La ruta real de PHP debe sustituirse por
    <var class="filename">C:/php/</var> en los ejemplos anteriores.
    Asegúrese que el fichero al que hace referencia en la directiva <code class="literal">LoadModule</code>
    está en la ubicación especificada, y utilize <var class="filename">php7apache2_4.dll</var>
    para PHP 7, o <var class="filename">php8apache2_4.dll</var> para PHP 8.
   </span>
  </p></blockquote>
 </div>

 <div class="sect2" id="install.windows.apache2.cgi">
  <h3 class="title">Ejecución de PHP como CGI</h3>

  <p class="para">
   Se recomienda consultar la
   <a href="http://httpd.apache.org/docs/current/howto/cgi.html" class="link external">&raquo;&nbsp;documentación de Apache CGI</a>
   para una comprensión más completa de la ejecución de CGI en Apache.
  </p>

  <p class="para">
   Para ejecutar PHP como CGI, deberá colocar los ficheros php-cgi en un
   directorio designado como directorio CGI utilizando la directiva ScriptAlias.
  </p>

  <p class="para">
   Será necesario colocar una línea <code class="literal">#!</code> en los ficheros PHP,
   que apunte a la ubicación del binario PHP:

   <div class="example" id="example-2">
    <p><strong>Ejemplo #2 PHP y Apache 2.x como 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">Advertencia</strong><p class="para">
 Un servidor desplegado en modo CGI se expone a varias vulnerabilidades posibles. Por favor, lea nuestra
 <a href="security.cgi-bin.php" class="link">sección sobre la seguridad en modo CGI</a>
 para aprender cómo protegerse contra estos ataques.
</p></div>
 </div>

 <div class="sect2" id="install.windows.apache2.fastcgi">
  <h3 class="title">Ejecutando PHP bajo FastCGI</h3>

  <p class="para">
   Ejecutar PHP bajo FastCGI tiene una serie de ventajas con respecto a ejecutarlo bajo
   CGI. Configurarlo de esta manera es bastante sencillo:
  </p>
  <p class="para">
   Descargue <code class="literal">mod_fcgid</code> desde
   <a href="https://www.apachelounge.com/download/" class="link external">&raquo;&nbsp;https://www.apachelounge.com</a>.
   Los binarios de Win32 están disponibles para descargar desde ese sitio.
   Instale el módulo de acuerdo con las instrucciones que lo acompañarán.
  </p>
  <p class="para">
   Configure su servidor web como se muestra a continuación, teniendo cuidado de ajustar cualquier ruta
   que reflejen la forma en que ha instalado las cosas en su sistema particular:

   <div class="example" id="example-3">
    <p><strong>Ejemplo #3 Configurar Apache para ejecutar PHP como FastCGI</strong></p>
    <div class="example-contents">
<div class="cdata"><pre>
LoadModule fcgid_module modules/mod_fcgid.so
# ¿Dónde está el fichero php.ini?
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>

   Los archivos con una extensión .php ahora serán ejecutados por el
   contenedor PHP FastCGI.
  </p>
 </div>
</div><?php manual_footer($setup); ?>