PHP 5.4.31 Released

Apache 1.3.x en Microsoft Windows

Esta sección contiene notas y sugerencias específicas para Apache 1.3.x instaladas con PHP en sistemas Microsoft Windows. También hay instrucciones y notas para Apache 2 en una nueva página.

Nota:

Por favor lea primero el manual de instalación

Hay dos formas de configurar PHP para trabajar con Apache 1.3.x en Windows. La primera es usar CGI binary (php.exe para PHP 4 y php-cgi.exe para PHP 5), la otra es utilizar el módulo DLL de Apache. En ambos casos se necesita editar httpd.conf para configurar Apache para trabajar con PHP, y después reiniciar el servidor.

Vale la pena resaltar, que el módulo SAPI ha sido desarrollado mas estable bajo Windows. Se recomienda su uso más que el binario CGI, ya que es más trasparente y seguro.

Aunque pueden haber algunas variaciones en la configuración de PHP bajo Apache, estas son sencillas para ser utilizados por el principiante. Por favor consulte la documentación de Apache para seguir directivas de configuración.

Después de modificar el archivo de configuración, recuerde que debe reiniciar el servidor, por ejemplo NET STOP APACHE seguido de NET START APACHE, si ejecuta Apache como un servicio de Windows, o si usa los atajos

Nota: Recuerde que cuando agrega rutas como valores en los archivos de configuración de Apache en Windows, todas las barras invertidas tal como c:\directory\file.ext deberían ser convertidas en barras comunes: c:/directory/file.ext. Una barra común al final será necesaria para directorios.

Instalación como módulo de Apache

Se deben agregar las siguientes líneas a su archivo de configuración Apache httpd.conf

Ejemplo #1 PHP como módulo de Apache 1.3.x

Se asume que PHP está instalado en c:\php. Ajuste la ruta de acceso si este no es el caso.

Para PHP 4:

# Adicionar al final de la sección LoadModule 
# No olvidar copiar este ficrero desde el directorio sapi! 
LoadModule php4_module "C:/php/php4apache.dll" 
 
# Adicionar al final de la sección AddModule 
AddModule mod_php4.c

Para PHP 5:

# Adicionar al final de la sección LoadModule 
LoadModule php5_module "C:/php/php5apache.dll" 
 
# Adicionar al final de la sección AddModule 
AddModule mod_php5.c

Para ambos :

# Adicionar esta línea dentro de la <IfModule Mod_mime.c> condicional brace 
AddType application/x-httpd-php .php 
 
# Para la sintaxis highlighted .phps files, tambien adicionar 
AddType application/x-httpd-php-source .phps

Instalación como un binario CGI

Si se ha descomprimido el paquete PHP C:\php\ como se describe en la sección Manual de instalación paso a paso, es necesario insertar estas líneas a su archivo de configuración de Apache para configurar el binario CGI:

Ejemplo #2 PHP y Apache 1.3.x como CGI

ScriptAlias /php/ "c:/php/" 
AddType application/x-httpd-php .php 
 
# Para PHP 4 
Action application/x-httpd-php "/php/php.exe" 
 
# Para PHP 5 
Action application/x-httpd-php "/php/php-cgi.exe" 
 
# Especifica el directorio donde php.ini esta 
SetEnv PHPRC C:/php
Tenga en cuenta que la segunda línea en la lista anterior se puede encontrar en las versiones actuales de httpd.conf, pero se comenta. Recordar también sustituir el c:\php\ para su ruta de acceso real a PHP.

Advertencia

Al usar el modo CGI, su servidor esta expuesto a diferentes ataques. Por favor, leer la sección Seguridad con CGI para aprender como defenderse de estos ataques.

Si desea presentar archivos de código fuente PHP sintaxis highlighted, no existe la opción más conveniente con la versión de PHP como módulo. Si ha elegido configurar Apache para usar PHP como un binario CGI, tendrá que usar la función highlight_file(). Para ello se necesita crear un script PHP y agregarle el código <?php highlight_file('some_php_script.php'); ?>.

add a note add a note

User Contributed Notes 7 notes

up
3
david
7 years ago
Note that if you place php in the c:\php5 director your ScriptAlias line should read

ScriptAlias /php/ "c:/php5/"

This may be obvious to regular Apache users, but I changed all sorts of things around before realizing this was the issue. I thought

Action application/x-httpd-php "/php/php-cgi.exe"

was a path and was changing it to "/php5/php-cgi.exe" which didn't work.
up
3
j dot b at inmail dot sk
8 years ago
DO NOT FORGET to add "index.php" into
<IfModule mod_dir.c>
    DirectoryIndex index.html
</IfModule>

so you get index.php processed;multiple values separate by space:
<IfModule mod_dir.c>
    DirectoryIndex index.html index.php
</IfModule>
up
2
BCarr
8 years ago
To Besta and 'j dot b..dot sk':

'Add Module mod_php4.c' or 'AddModule mod_php5.c'  may or may not be necessary depending on your environment and version of Apache.

In my situation, this add module DID NOT work or it wasn't necessary.  The LoadModule was enough to do the trick.  I tried it with PHP4 on Apache 1.3.34 and Apache 2.0.

All in all, your notes have been helpful.  Thanks.
up
2
Besta
8 years ago
Do not add this line to apache http.conf. It does not work.
AddModule mod_php5.c

Also, remember to edit the system variables, edit the PATH and add the path to the php directory and restart windows.
up
2
psychosos at gmx dot at
9 years ago
Please note that the SetEnv PHPRC "directory/to/phpini/" only works when using PHP as CGI, but _not_ when you use the PHP Apache Module!
up
0
frank at circuitdata dot dk
5 years ago
Entries to httpd.conf for PHP 5:

  AddType application/x-httpd-php .php

  AddType application/x-httpd-php-source .phps

must appear BEFORE

  LoadModule php5_module "C:/php/php5apache.dll"

This should NOT be added:

  AddModule mod_php5.c

It makes no sense since AddModule means activation of a module compiled staticly into the Apache. We ofcourse do not have that!
up
-1
Anonymous
8 years ago
On contrary to user "Besta"'s post

AddModule mod_php5.c

should be added to the addmodule section. I installed php5 and apache 1.3.3 and without the above line it is not recognizing the .php files
To Top