Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales
Desde 0 | HTML | CSS | ASP | PHP | AJAX | Javascript | Promoción de webs | Rentabilidad de webs
Directorio | Manuales | Scripts | FAQs | Programas | Artículos Copyleft | Actualidad | La Cosecha | Colabora
Registrarse | Vuestras páginas | Foros del web | Lista de correo | Boletín de novedades
Generador METAs | Compras | Busca cursos
Alojamiento | Dominios.es | Micropagos SMS | Buscadores | Patentes, marcas | Creación web | Multimedia | Videos
Desarrollo Freelance | Buscar proyectos | Buscar profesionales | Solicitar desarrollo

Configuración de PHP con Apache en Windows, como CGI


Aprende cómo configurar PHP y Apache para que trabajen conjuntamente en un sistema Windows. Instalación como CGI.


El presente artículo trata de cómo configurar PHP y Apache para que trabajen conjuntamente en un sistema Windows. Además, este articulo asume que hay un servidor Apache configurado en el Windows, y que funciona correctamente.

Referencia: Si deseamos conocer las distintas posibilidades para la instalación de PHP en los distintos sistemas operativos y servidores, puede ser de utilidad la lectura del artículo Instalación de PHP en nuestro servidor.

Existen dos formas de configurar PHP para trabajar con Apache, instalar como un módulo o instalar como un CGI. En este artículo vamos a ver cómo instalarlo com CGI, aunque disponemos de otro artículo para instalar PHP como módulo en Apache.

Para instalar PHP como un CGI hay que seguir los siguientes pasos:

En primer lugar, hay que descargarse PHP desde la página de php.net. Existen dos versiones, una que tiene un instalador, y otra que es un fichero ZIP. Hay que descargarse esta última.

Una vez descargado, hay que descomprimirlo dentro de una carpeta, esta no tiene que estar bajo el árbol de directorios de Apache. El artículo asumirá que se descomprime dentro de la carpeta C:\PHP. Comprobar que los contenidos del archivo ZIP no quedan en un subdirectorio de la carptea C:\PHP, sino directamente en dicha carpeta.

Dentro de la carpeta c:\PHP se encuentra un fichero llamado PHP4ts.dll, hay que mover el fichero dentro de la carpeta: c:\windows\system ó c:\winnt\system

A continuación, dentro de la carpeta c:\php se encuentra un fichero llamado php.ini-recomended. Hay que copiar este fichero dentro de la carpeta c:\Windows, y renombrarlo a php.ini.

En este fichero se encuentra toda la configuración de PHP, y las modificaciones en la configuración de PHP (mostrar Errores, variables globales etc...) se encuentra dentro del mismo.
Es muy recomendable cambiar la directiva display_errors que por defecto esta en OFF, y pornerla en ON, para poder ver los errores que se producen en las páginas durante el desarrollo. Para un servidor en producción en conveniente dejarla en OFF.

Una vez se han hecho estos cambios, queda indicarle al Apache, donde se encuentra instalado el PHP, para ello hay que editar el fichero httpd.conf que se encuentra dentro de la carpeta conf, en la carpeta de instalación del apache (por defecto c:\archivos de programa\apache group\apache2\conf)

Abrir el fichero, y situarse al final del mismo, y escribir las siguientes líneas:

ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php.exe"

En ellas se indica donde se encuentra el ejecutable de php, y lo asocia a los ficheros .php que se encuentren dentro de apache.

A continuación reiniciar el servidor Apache, y ya esta!

Por último, indicar que para probar la nueva instalación, es recomendable crear un fichero php con el siguiente contenido:

<? phpinfo();?>

Luego lo guardamosdentro de la carpeta raíz de documentos del Apache (por defecto c:\archivos de programa\apache group\apache2\htdocs ), con un nombre terminado en .php, por ejemplo info.php

Para ejecutarlo, a través de un navegador, escribir la dirección http://localhost/info.php.
Debería aparecer una pantalla como la que se muestra a continuación.

Si la vemos correctamente es que todo ha ido bien y que tenemos perfectamente instalado PHP en nuestro servidor Apache.

Nota: Este tipo de instalación de PHP sobre Apache es poco recomendada por motivos de seguridad. Podemos seguirla para configurar PHP en local, con intención de desarrollar nuestras páginas web, pero nunca si vamos a utilizar el servidor en un entorno de producción, es decir, en un servidor que se encuentre permanentemente conectado a Internet sirviendo páginas a todo tipo de usuarios.

Sería necesario instalar PHP como un módulo de Apache, en lugar de CGI, para dotar al sistema de una mayor seguridad, y también más potencia.


Referencia: En esta FAQ damos otras opciones para la instalación de PHP, utilizando programas que permiten instalar y configurar Apache + PHP + MySQL en un sencillo paso, accesible para todos los usuarios: Cómo instalar PHP en Windows.

 Seguir navegando a partir aquí:
+ 1 manual relacionado
+ 3 categorias relacionadas
+ 14 comentarios (Añadir)
+ 25 comentarios no revisados

 Autoría, licencia y acciones sobre este artículo

Informe de Carlos Luis Cuenca*
URL: http://www.helloworldsolutions.com/

Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.

* Para consultas técnicas utilizar la lista de correo.

Versión imprimible Versión imprimible del artículo
Enviar artículo por e-mail Enviar artículo por e-mail
Añadir un comentario al artículo Publicar un comentario del artículo

Manuales relacionados con este artículo
Dentro de Programación en PHP

Categorias relacionadas
A través de las categorías de nuestro directorio se pueden encontrar otro tipo de recursos relacionados con este artículo:
+ Entrar en PHP
+ Entrar en Windows
+ Entrar en Apache


 Comentarios de los visitantes
Los comentarios de los visitantes son para ampliar la información del artículo. Cualquiera puede participar.
Se muestran 14 comentarios revisados

 Comentario de Fernando Cuadrado
17/3/03 
ATENCION!! Esta manera de instalar el PHP es conciderada un SUICIDIO en el archivo install.txt que viene en PHP4.

Tambien dice que es aconsejable poner un nombre aleatorio al Script /php/

RESPUESTA

Es cierto que no es segura esta manera de instalar PHP, así que no se aconseja para un servidor en producción, además tampoco es muy recomendable instalar Apache sobre Windows, ya que, aunque para la versión 2 de Apache se ha creado un módulo específico, este adolece de ciertos problemas de seguridad.

De todos modos, esta instalación es perfectamente válida para el desarrollo de vuestros sitios web en local, es decir, para un servidor de desarrollo y que no está expuesto a posibles ataques.

Nota: en la sección de FAQs explicamos lo que es un servidor de desarrollo y un servidor en producción. También se puede conocer el proceso de instalación de PHP como módulo de Apache, que soluciona los problemas de seguridad a los que te refieres.


 Comentario de Elena DP
09/5/03 
Si queremos poner PHP como modulo (no como CGI) estando PHP4ts.dll y php4apache2.dll en la carpeta c:\php\sapi es suficiente y NO es necesario copiarlos a c:\winnt\system32.

Con respecto a las modificaciones al httpd.conf de Apache2.x NO es necesario lo del ScriptAlias, basta con poner lo del LoadModule y AddType

 Comentario de Elena DP
09/5/03 
La forma descrita en el articulo es para poner PHP como CGI. Creo que deberías comentar la forma de poner PHP como módulo.

 Comentario de Fabian Mestre Socarras
09/9/03 
Yo he configurado Apache y PHP bajo windows manualmente y me parece bien aprender primero de es amanera, pero me gustaría informarle a toda la comunidad la existencia de unos instaladores automaticos como el Appserv y el Foxserv, que instala facilmente Apache, PHP y MySQL en un solo proceso y sin configurar nada. Esto solo existe para windows astimosamente, para ambientes Linux ya hay que mirar los archivos INSTALL de cada paquete. Gracias.

 Comentario de Mak
22/9/03 
Hola, me gustaría haceros una sugerencia. ¿Podríais poner el modo de configurar PHP para que funcione con el Apache en Windows2000, pero en modo SAPI?
Gracias.
M@k

 Comentario de victor
26/9/03 
Si quieres utilizar tanto ASP como PHP bajo windows XP, es mejor tener instalado tanto Apache como IIS(aunque como sabria que servidor actuar dependiendo de la página que queramos mostrar) o con IIS para los dos es suficiente??

RESPUESTA:

Lo que está claro es que debes tener el IIS para poder programar en ASP. A partir de aquí, si también quieres utilizar el Apache para PHP puedes hacerlo, pero no es necesario dado que el IIS puede entender también PHP. Cualquiera de las dos soluciones es buena.

Un saludo y espero haber resuelto tus dudas.


 Comentario de Sergio Rozalén
31/8/04 
El articulo es fantastico. Solo un apunte. Yo he montado PHP 5 con Apache 2.0.50 y hay que matizar un par de cosas.
l ini en la carpeta PHP no está.
Y el nombre del exe es distinto (php-cgi.exe). Haciendo esos retoque se configura perfecto.

Espero que está experiencia os ayude.
Un saludo.

 Comentario de PRICE
11/3/05 
Yo tengo una pequeña dura, ¿es nesesario q el apache este instalado en nuestro odenador? ¿o se puden instalar en un servidor gratuito? Lo pregunto por que a mi me seria muy costoso instalarlo en mi ordenador, y tengo un espacio web gratuito de 100MB de espacio.

 Comentario de Leandro Jauande
26/5/05 
Si estamos instalando PHP 5.0.4 veremos que el archivo DLL es php5ts.dll esta en la carpeta C:PHP si estamos siguiendo los pasos.
Y en el httpd.conf debemos al final agregar estas lineas

ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php-cgi.exe"

Varia del original en que apunta a otro ejecutable.-
Esto es por que está versión del PHP trae 3 ejecutables, si ponemos como esta en el articulo original no funciona, pero modificandolo como escribi arriba funciona muy bien.-

Espero este aporte sea de ayuda.-

Salu2 Leandro.-

 Comentario de Elian
15/5/06 
he hecho todo eso.. pero cunado entro desde el Firefox me aparece esto:

Forbidden

You don't have permission to access /php/php.exe/info.php on this server.

 Comentario de NICOLAS (México)
21/9/06 
Price, seguramente ya esta resuelta tu pregunta desde hace ya casi un año que la publicaste pero me gustaría aún así responderla para que la gente que esta investigando encuentre la respuesta.

No es necesario instalar el apache/php/mysql en tu máquina ya que puedes trabajar con algun servidor gratuito que ya lo tenga instalado y funcionando, pero es muy recomendable hacerlo ya que cuando estas realizando un sitio normalmente haces alguna modificación a tu código y lo pruebas para asegurarte que esta bien hecho, por lo que imaginate si estas programando tendrías que estar subiendo el archivo modificado al servidor gratuito y probarlo, en vez de nada mas verificarlo directamente en tu computadora. Al final de cuentas el sitio lo tienes que subir a un servidor de paga o gratuito para que sea publicado, pero esto lo haces cuando ya esta todo funcionando y listo para ser publicado.

 Comentario de Klau
25/11/06 
para que no de el error You don't have permission to access /php/php.exe/test.php on this server"
hay que hacer lo sgate. en httpd.conf al final del mismo agregar como se menciono en el articulo:

ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php-cgi.exe"

mas los permiso del nuevo alias que es lo que sigue

<Directory "C:/php">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks

#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride None

#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all

</Directory>

eso es todo. a mi me funciono buy bien
espero les sea de utilidad

 Comentario de Manuel Paz
14/4/07 
El tutorial es muy bueno solo quiero añadir que para la versión 2.2.4 de Apache y php 5.2.1 el directorio php/sapis no existe todo lo que tenga que ver con copiar archivo de o hacia dicho directorio deberá de ser hacia php/ext y en lugar de usar php4apache2.dll hay que usar php5apache2_2.dll

Saludos

 Comentario de ZequeZ
15/9/07 
Es muchisimo mas facil usar el XAMPP, que tiene todo el pack re bien hecho y te viene con muchas herramientas. Al principio, cuando no sabia ni como era lo de localhost, no entendia ni medio, veia en la ventanita que decia apache, y mysql y me imaginaba un mapache, que se yo xD

Añadir un comentario al artículo Añadir un comentario del artículo
 Comentarios sin revisar
Entre los comentarios no revisados puede haber algunos interesantes que se hayan enviado recientemente.
 Se han encontrado 25 comentarios sin revisar

Ver el comentario no revisadoVer los comentarios no revisados
Añadir un comentario al artículo Añadir un comentario del artículo



Enlaces:
Maestrosdelweb
  Ir arriba

Manuales relacionados
+Programación en PHP
Categorías
+PHP
+Windows
+Apache

Lectura recomendada

Compra este libro en Agapea, la librería urgente a domicilio.

Tienda DesarrolloWeb

DesarrolloWeb.com | Copyright | Anunciese | Acerca de | Datos legales | Contacta | Por GuiarteMultimedia