Luego que tenemos Instalado y funcionando nuestro Apache 2.2 es muy sencillo Instalar y configurar PHP 5 en nuestro PC con Windows 7.
Seleccionar la versión y compilación adecuada de PHP
Lo primero que vamos a hacer es descargar la última versión disponible de PHP 5 en el sitio de descarga http://windows.php.net/download/.
Los identificados como VC9 están compilados con Visual Studio 2008 C++, y están optimizados para usar PHP en Windows con IIS (Internet Information Server), el servidor propio de Windows, pero nosotros no utilizaremos IIS, ya que usamos Apache en vez de IIS.
Cuando decidimos usar como Servidor Web Apache no debemos usar las VC9, por tanto seleccionamos el archivo identificado con VC6 que está compilado con Visual Studio 6 y es la propia para los ejecutables de Apache.
Lo otro que debemos elegir es la versión Thread Safe, ya que es la que va con Apache, la Non-Thread Safe está mejorada para utilizar con Windows e IIS, pero no con Apache, por eso la elección.
La decisión de usar Apache la fundamento en que la mayoría de los servidores en Internet usan Linux y Apache, y si bien vamos a usar el PC con Windows para desarrollar es deseable que nuestras aplicaciones corran lo más parecido posible, sobre todo en algunas técnicas como la aplicación de Mod_Rewrite, y URLs amigables que veremos en próximos artículos de desarrollo web con PHP teniendo en cuenta SEO o sea webs optimizadas para buscadores.
Descargar PHP 5.3.2
No ocuparemos tampoco el instalador MSI, será suficiente con el ZIP, por tanto el archivo a descargar es: VC6 x86 Thread Safe (2010-Mar-04 20:11:08) ZIP de 13.03 MB.
Tener en cuenta que la fecha puede cambiar, pero con lo explicado ya sabrán seleccionar el archivo correcto.
Instalar PHP 5.3.2
Ahora que tenemos el archivo ZIP vamos a descomprimirlo en nuestra carpeta c:\appserv\php5
Como dijimos no correremos el instalador solo basto con descomprimirlo, y usamos como destino general nuestra carpeta c:\appserv de forma que quede todo el servidor de prueba quede ordenado, hasta ahora tendríamos estas carpetas:
c:\appserv
Apache2.2
php5
www
Configurar Apache 2.2 con PHP
Cuando instalamos Apache por si mismo servirá paginas Html, imágenes, etc, pero no es capaz de interpretar PHP, por tanto debemos ahora indicarle que nuestro PHP recién descomprimido será quien interprete los archivos programados en este lenguaje antes de enviarlos al navegador del usuario.
Para esto, vamos a abrir con un editor el archivo de configuración de Apache que vimos en la Instalación de Apache, o sea c:\appserv\Apache2.2\conf\httpd.conf
En este archivo, buscamos la sección donde carga los módulos y agregamos la línea:
LoadModule php5_module “C:/appserv/php5/php5apache2_2.dll”
esta línea, es bastante obvia si prestamos atención, lo que hace es cargar el módulo de PHP5 para Apache 2.2. Debemos agregar la línea al comienzo o final de todos lo otros módulos que se están cargando, prestando atención que esta línea no tenga un # (sharp) delante, ya que eso significa que no debe ejecutarse.
Debajo debemos agregar otra línea:
AddType application/x-httpd-php .php
es la que advierte a Apache para que procese los archivos con extensión .php, de otra forma nos daría un error de archivo desconocido.
Con la combinación de estas dos lineas tenemos entonces un Apache 2.2 admitiendo archivos .php e interpretándolos con PHP5.
Algunas aplicaciones PHP antiguas utilizaban archivos con extensión .php3 y .php4, siendo este número la versión de PHP3 o PHP4. Si nos encontramos con una aplicación que usa esas extensiones, para no tener que renombrar todos los archivos .php3 a .php podemos agregar otra línea AddType para cada extensión adicional, de la siguiente forma:
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
Luego agregamos la siguiente línea:
PHPIniDir “C:/appserv/php5″
nos indica donde está el archivo de configuración de PHP 5 llamado php.ini, que permitirá personalizar el funcionamiento del mismo. En c:\appserv\php5 hay un archivo “php.ini-development” que copiaremos como “php.ini“, este será el archivo de configuración por defecto, que por ahora no cambiaremos.
Verificando la Instalación de PHP 5
Para que Apache tome la nueva configuración debemos reiniciar el Servidor, podemos hacerlo en una de estas 3 formas:
- Reiniciar el PC
- Ejecutar en el Símbolo de sistema (como admin), ubicados en la carpeta c:\appserv\Apache2.2\bin> la orden httpd.exe -k stop para detener el servidor, y luego httpd.exe -k start para iniciarlo nuevamente
- O como vimos en la Instalación de Apache, usamos el Monitor de Apache, para detener y arrancar nuevamente
Recordemos que si hay algún problema podremos ver el Log de sucesos en c:\appserv\Apache2.2\logs\error.log
Si todo va bien, podemos intentar ejecutar nuestro primer programa PHP, haremos uno bien sencillo llamado index.php que contenga:
<?php
echo ‘Hola’;
?>
lo guardaremos en c:\appserv\www y probaremos en el navegador con http://localhost/index.php donde debería salir el mensaje Hola
Si llamamos a http://localhost, el Server Apache toma por defecto el archivo index.html. En principio no reconoce por defecto nuestro index.php y quizás muestre las carpetas del disco duro, o no haga nada, en vez de ejecutar nuestro Hola, pero como vimos, si funciona como http://localhost/index.php
Para agregar index.php como archivo por defecto, abrimos el httpd.conf y buscamos una línea que dice:
DirectoryIndex index.html
le agregamos los otros archivos posibles que debe tomar por defecto, por ejemplo:
DirectoryIndex index.php index.html index.htm
Ahora si llamamos a http://localhost obtendremos el mismo resultado que llamando a http://localhost/index.php en nuestro navegador.
Para culminar editaremos nuestro index.php agregando una linea:
<?php
echo ‘Hola’;
phpinfo();
?>
La función phpinfo() nos muestra la configuración de PHP 5, con eso comprobamos que todo va bien.
Aguardo sus dudas y comentarios, en la próxima veremos como Instalar MySQL Server
Artículos relacionados:
- Instalar Apache 2.2 en Windows 7
- Instalar IIS en Windows 7
- Instalar Visual Basic 6 en Windows 7
- Oracle compra Sun



Buenas muchas gracias por su ayuda estoy intentando instalar php pero no seDonde poner las líneas add type , las colocó de bajo de la de load module pero al volver a ejecutar el apache me sale error que será?
En donde coloca esas líneas? Ayuda por favor
Lee el tutorial, justamente ahí menciono donde colocar las líneas
gracias me fue de gran ayuda toda la informacion qu etienes
Ya lo logre es agregando las líneas pero sin las comillas ahora el problema es que me dice que no tengo permiso de la para ver la página, porque?
Seguramente algo hiciste mal en la instalación de Apache o PHP, verifica los pasos y el log de errores como aconsejo en los tutoriales
Amigo cuando corro el httpd.exe -k stop me da el siguiente mensaje
(0s 5)Acceso denegado. failed to open the Apache2.2 service
No tienes permiso suficiente para instalar el Apache, debes instalarlo con un usuario administrador del Windows 7
Amigo Jorge Oyhenard … veo muy interesante la manera de como explicar con mucho detalle esto y grcias por eso , pero tengo una consulta la verdad yo no se de donde sale la carpeta www que tu dices ya esta en la ruta c:\appserv
Apache2.2
php5
www
pido porfavor que me expliques eso , yo utilizo el windows 7 .
Gracias .. Victor
No creí necesario explicar como crear una carpeta en windows jeje, pero bueno te paras en c:\appser y haces botón derecho nueva carpeta y listo creas una carpeta vacía llamada www
Ahí luego puedes crear otros archivos php o tantas carpetas como quieras para tus sitios en el servidor local.
sale un error al acer la configuracion y ya inente modificando varias y cuando le pongo las modificaciones como comentario vuelve a funcionar alguna razon
Y el error tengo que adivinarlo o puedes copiarlo para buscar la solución ?
El problema que tiene lacas seguro es el mismo que tuve yo, al copiar y pegar directamente el texto del navegador la ruta de la carpeta de php5, la ruta de la carpeta debe de estar entre comillas estardar es decir ” y el ejemplo tiene ” aunque se parecen mucho no son lo mismo, intenta escribirlas manualmente y veras que soluciona el problema.
Eso pasa por copiar y pegar y no leer, prestar atención, entender y aprender como hacer las cosas
Hola Jorge Oyhenard gracias por este tutorial esta bien explicito y de fácil comprensión me gustaría saber si ya tienes el tutorial para la instalación de MySQL Server. Ya que es bueno hacer la integración de las tres aplicaciones a la ves de antemano gracias
El tutorial de MySQL lo estoy publicando en el correr de la semana
si ya lo tienes podrias poner el link ?? (tutorial de MySQL)
estan bastante buenos tus tutoriales muchas gracias !!
esta muy bien el sitio
Bueno he presentado muchísimos problemas para poder empezar a usar Php…
Necesito mucha ayuda por lo que aquí les dejo lo que tengo para que me digan como hacer los cambios!!! Ojo en verdad que he tratado de mil formas… para hacer a la vista mas fácil encontrar problemas quite todas las líneas de comentarios que entiendo son las que tiene los #.
ServerRoot "C:/appserv/Apache2.2"
Listen 127.0.0.1:8080
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule dir_module modules/mod_dir.so
LoadModule env_module modules/mod_env.so
LoadModule include_module modules/mod_include.so
LoadModule isapi_module modules/mod_isapi.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule setenvif_module modules/mod_setenvif.so
<IfModule !mpm_netware_module>
<IfModule !mpm_winnt_module>
User daemon
Group daemon
</IfModule>
</IfModule>
ServerAdmin luis_lastra@ovi.com
#ServerName localhost:8080
DocumentRoot "C:/appserv/Apache2.2/htdocs"
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
<Directory "C:/appserv/Apache2.2/htdocs">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
<FilesMatch "^.ht">
Order allow,deny
Deny from all
Satisfy All
</FilesMatch>
ErrorLog "logs/error.log"
LogLevel warn
<IfModule log_config_module>
LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined
LogFormat "%h %l %u %t "%r" %>s %b" common
<IfModule logio_module>
LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i" %I %O" combinedio
</IfModule>
CustomLog "logs/access.log" common
</IfModule>
<IfModule alias_module>
ScriptAlias /cgi-bin/ "C:/appserv/Apache2.2/cgi-bin/"
</IfModule>
<IfModule cgid_module>
</IfModule>
<Directory "C:/appserv/Apache2.2/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
DefaultType text/plain
<IfModule mime_module>
TypesConfig conf/mime.types
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php
</IfModule>
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
De antemano Gracias
Y para que quitaste todas esas lineas de comentario ??, necesitas todo eso ??
Hola te comento que he tenido varios problemas con el pH 5.3.1 al conectar con las bases de datos puesto que hice la configuración del php.ini basándome en el php.ini de php 5.2.6 y php 5.2.12 el cual me estaba funcionando perfecto con apache 2.2.14 y el phpMyAdmin Versión 3.3.0-beta1 pero cuando solicito un sitio en el explore me arroja el siguiente error:
Warning: mysql_pconnect(): OK packet 6 bytes shorter than expected in C:AppServwwwmaurosnet_comConnectionsmauro.php on line 9
Warning: mysql_pconnect(): mysqlnd cannot connect to MySQL 4.1+ using old authentication in C:AppServwwwmaurosnet_comConnectionsmauro.php on line 9
Fatal error: mysqlnd cannot connect to MySQL 4.1+ using old authentication in C:AppServwwwmaurosnet_comConnectionsmauro.php on line 9
Por otro lada cuando trato de entrar por el phpMyAdmin Versión 3.3.0-beta1 al MySQL también me arroja un error que dice
phpMyAdmin – Error
#2000 – mysqlnd cannot connect to MySQL 4.1+ using old authentication
la verdad es que no entiendo a que se deba tantos errores con el pH 5.3.1 si estoy haciendo la configuración igual al php.ini de pH 5.2.6 y pH 5.2.12 las cuales funcionaban perfecto.
Por fa necesito una solución a dichos errores o cuales son los cambios que tengo que hacer en el php.ini para que todo marche a la perfección ya que me urge poder solucionar estos inconvenientes.
Agradezco cualquier ayuda pronta.
Este tutorial no tiene que ver con MySQL. Igualmente resetea el password de tu base de datos, ya que las almacena de forma diferente.
Instale apache sin problemas con tu tutorial, pero en php5 he tenido problemas, trate de cambiar el nombre del archivo: "php.ini-develope…." y no se puede.
cuando inicio el servidor apache, sale que esta corriendo junto con php, pero cuando creo el archivo, index.php dice que no se encuentra el archivo o algo asi, alguna respuesta por favor, me esta colmando la paciencia
.
Y como intentaste renombrar el archivo ? es una operación muy sencilla ren php.ini-developer php.ini y listo !!, claro tenes que tener permisos de administración. Lo mismo el index.php lo haces con cualquier editor y lo ubicas en www siendo esta si seguiste el ejemplo c:appservwww y debe estar configurada como carpeta en la configuración del Apache.
Gracias excelente manual, me ha servido de mucho ya que habia usado appserver, xxampp y Wampserver y ninguno habia querido hacer funcionar al 100 el php, y para instalar un servidor a pelo es bastante dificil si no tienes ni la mas minima idea
Gracias me ha servido de mucho
Hombre muchas gracias por el tuto funciona de 10 !!! no me funciono de una pero es solo cuestión de leer y entender, pues no hay nada mejor que encontrar uno mismo los errores y corregirlos pues asi se aprende full ! un saludo desde Bogota !
buenas.. amigo es que segui los pasos normalmente y cuando voy abrir el archivo .php por el explorador no me aparece el mensaje como deberia de aparecer sino ke sale la opcion de abrirlo y solo abre el codigo, depronto que sera lo que hice mal… te pregunto es necesario colokar eso de PHPIniDir “C:/appserv/php5″ si yo utilizo por defecto php5 muchas gracias….
verifica el phpinidir y la configuración de los virtual host y si no hay otro servidor ocmo IIS en tu windows.
Tengo instalado el XAMPP que me configura apache php y mysql todo funciona bien bajo en contexto de localhost, pero cuando quiero acceder a mis paginas desde otra pc de mi red. No funciona a pesar que se pueden hacer ping a la pc en donde esta instalado el apache.
Saludos
Jose Luis
Debe ser un problema de filtros
Muchas gracias por tu manual, Hay una cosa que no tengo claro al ejecutar el Index.php me dice que no encuentra la página y la tengo en www. He repasado todo y está como tu dices.
Usas index.php o Index.php ?, ten en cuenta que la mayúscula cuenta. Igualmente si llamas a localhost sin el archivo index ejecuta el archivo por defecto.