Desarrollador de aplicaciones web y de escritorio, amante de la tecnología y autodidacta, me gusta conocer otras tecnologías, escribir artículos para compartir en la web y para estar al tanto en los nuevos paradigmas, respeto las políticas de software privativo y libre, ya que estas políticas son las normas que permite el desarrollo tecnológico social de la humanidad. filvovmax@gmail.com -- info@gitmedio.com
Instalar y configurar PHP 7 y Apache + MySQL
En este articulo se ofrece, cómo instalar y configurar PHP 7 y Apache http 2.4 mas MySQL en el sistema operativo Windows, ya que estos programas permiten el desarrollo de aplicaciones web, pero antes de entrar a la instalación y configuración, quiero mencionar que no utilizaremos Appserv o Xampp y otros que ya son entornos pre-configurados para su fácil instalación y uso, lo que haremos es: armar nuestro propio entorno de desarrollo web, y así para tener las ultimas versiones.
A continuación se listan los siguientes linkns de descarga.
- Apache http o Apachelounge y descargarse resdistribuibles VC++ 2015 32 bit o VC++ 2015 64 bit
- PHP, xdebug y VC++ 2014
- MySQL
- PhpMyAdmin
Paso Nº 1
Descomprimir Apache HTTP, PHP y MySQL.
Al descargar los archivos según a la arquitectura del PC, se debe proceder a descomprimir en el directorio padre C:\mientorno\ y ademas crear tres carpetas mas, y dentro de carpeta www crear un archivo index.html o index.php, de modo que debe quedar de la siguiente Manera.
C:\mientorno\Apache
C:\mientorno\Php7
C:\mientorno\MySQL
C:\mientorno\www
C:\mientorno\cgi-bin
C:\mientorno\temporal
Paso Nº 2
Configurar Archivos httpd.conf, my-default.ini y php.ini
En este paso realizaremos cuidadosamente la configuración de cada uno de los archivos, por la cual con un minimo de error la aplicación no podrá ejecutarse correctamente.
Configurando Apache, nos dirigimos a al ruta C:\mientorno\Apache\conf\ y abrimos en un editor de texto el archivo httpd.conf para modificar la siguientes lineas:
ServerRoot "C:/mientorno/Apache"
ServerName localhost #O si no poner 127.0.0.1
DocumentRoot "C:/mientorno/www"
<Directory "C:/mientorno/www">
<IfModule dir_module>
DirectoryIndex index.php index.pl index.cgi index.asp index.shtml index.html index.htm \
default.php default.pl default.cgi default.asp default.shtml default.html default.htm \
home.php home.pl home.cgi home.asp home.shtml home.html home.htm
</IfModule>
ScriptAlias /cgi-bin/ "C:/mientorno/cgi-bin/"
<Directory "C:/mientorno/cgi-bin/">
Al modificar las lineas, procedemos a guardar, y presionamos las teclas windows + r, escribimos el comando CMD–>Enter por el cual nos debe mostrar una pantalla de linea de comando, en la cual también escribimos las siguientes lineas de comando que se ve en la imagen.
Para ver que si se esta ejecutando correctamente, abrir el explorador web y escribir localhost en la bara de URL. Si les genera algún error, verificar la configuración en el archivo httpd.conf.
Configurando PHP
Nos dirigimos a la siguiente ruta C:\mientorno\Php7 buscamos y re-nombramos el archivo php.ini-production por el nombre php.ini, una vez renombrado abrir en un editor de texto, y modificamos las siguientes lineas.
zlib.output_compression = On
display_errors = On
;Crear carpeta llamado error en la ruta C:\mientorno\php7.
error_log = "C:\mientorno\php7\error"
extension_dir = "C:\mientorno\Php7\ext"
enable_dl = On
;Quitar los punto y comas de las siguientes extensiones
extension=php_bz2.dll
extension=php_curl.dll
extension=php_fileinfo.dll
extension=php_mbstring.dll
extension=php_exif.dll
extension=php_mysqli.dll
extension=php_openssl.dll
extension=php_pdo_mysql.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
date.timezone =America/La_Paz ;Poner la Zona horaria de tu país
pdo_mysql.default_socket= "MySQL"
session.save_path = "C:\mientorno\temporal"
[XDebug]
;Descargar la extensión y pegar en la ruta correspondiente
zend_extension = "C:\mientorno\Php7\ext\php_xdebug.dll"
xdebug.profiler_append = 0
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 0
xdebug.profiler_output_dir = "C:\mientorno\temporal"
xdebug.profiler_output_name = "cachegrind.out.%t-%s"
xdebug.remote_enable = On
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "127.0.0.1"
xdebug.trace_output_dir = "C:\mientorno\temporal"
xdebug.remote_port=9000
Una vez reemplazado la configuración por defecto guardar el archivo ini, y nos dirigimos de nuevo al archivo httpd.conf del Apache y agregamos la final del archivo las siguientes lineas de código.
LoadFile C:\mientorno\Php7\php7ts.dll
LoadFile C:\mientorno\Php7\libpq.dll
LoadModule php7_module "C:\mientorno\Php7\php7apache2_4.dll"
AddHandler application/x-httpd-php .php
AddType application/x-httpd-php .html .html .asp
PHPIniDir "C:\mientorno\Php7"
Una vez guardado el archivo httpd.conf, copiamos el archivo dll C:\mientorno\Php7\libssh2.dll a la siguiente ruta C:\mientorno\Apache\bin\libssh2.dll.
Donde se encuentra la carpeta www de nuestro entorno de desarrollo crear un archivo index.php con el codigo <?php echo phpinfo(); ?>
Una vez realizada las cuyas operaciones, ejecutar desde la linea de comando CMD, tal como hemos visto en la anterior ejemplo de imagen. Al escribir la palabra localhost en la barra de URL del explorador, debería de ejecutarse correctamente mostrando información sobre PHP7 y demás.
Configurar MySQL
Si descargaste la versión MySQL 5.7, buscar el archivo my-default.ini, crear la carpeta llamado data, y agregar las siguientes lineas en el archivo ini:
basedir =C:/mientorno/MySQL
datadir =C:/mientorno/MySQL/data
En la pantalla de linea de comando ejecutar el siguiente comando, la ejecución tardara unos cuantos segundos:
C:\mientorno\MySQL\bin>mysqld --initialize-insecure
Cuando finalice al invocar, iniciar el servidor MySQL con la siguiente linea de comando:
C:\mientorno\MySQL\bin>mysqld --defaults-file=C:\mientorno\MySQL\my-default.ini --console
Abrir una nueva ventana de consola y ejecutar el siguiente linea de comando: C:\mientorno\MySQL\bin>mysql -u root -p
y le pedirá que ingrese pasword, simplemente presione la tecla enter, y debería de acceder a la base de datos donde podremos ejecutar el siguiente comando SQL para crear el usuario:
ALTER USER 'root'@'localhost' IDENTIFIED BY '';
Por otra parte si se descargó la versión MySQL 5.5.51 este se distribuye pre configurado, por la cual no hay la necesidad de configurar manualmente.
Par iniciar la versión MySQL 5.5.51 pegamos la siguiente linea de comando.
mysqld --defaults-file=C:\mientorno\MySQL\my-large.ini --console
Para probar la ejecución correcta, abrir un nuevo ventana de consola, y ejecutar con el siguiente linea de comando:
C:\mientorno\mysql\bin>mysql, lo cual tendría que permitir ejecutar la consulta SQL.
Paso Nº 3
Configurar PhpMyAdmin
En el directorio padre crear una nueva carpeta PhpMyAdmin y descomprimir el archivo descargado phpMyAdmin-4.6.4-all-languages.zip, para configurar crear un nuevo archivo con el nombre config.inc.php y pegar el siguiente linea de código.
<?php
$cfg['blowfish_secret'] = 'a8b7c6d';
$i = 0;
$i++;
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = true;
$cfg['Lang'] = '';
$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = '';
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';
?>
Por ultimo también agregamos al final del el archivo de configuración httpd.conf de Apache, las siguientes lineas:
#---------Configuración para PHPMYADMIN---------- Alias /phpmyadmin "C:/mientorno/PhpMyAdmin" <Directory "C:/mientorno/PhpMyAdmin"> AllowOverride All Require all granted </Directory>
Para comprobar la configuracion correcta de phpMyAdmin escribir http://localhost/phpmyadmin/ en la barra de url del explorador web.
Toda la instalación y configuracion que se realiza en este articulo debería funcionar correctamente en su PC, si es que ha realizado paso a paso, caso contrario realizar comentario en el pie de este articulo.
Muchas gracias por el tutorial, me ayudo muchisimo.
Solo una duda, ¿como puedo hacer para que se ejecute apache automaticamente al iniciar windows?
Saludos
No ay por qué Omar, para que se ejecute Apache cuando inicie Windows, hay que instalar en el servicio de Windows.
Pega el siguiente línea de comandos para instalar.
O puede usar el comando más simple.
Para MySQL
httpd -k install | uninstall — para instalar o reinstalar el .ini de Apache
httpd -f start | stop –para levantar o detener el servicio
Buen día, estoy tratando de instalar en Windows 10 64 bits, pero al ejecutar el comando de httpd -f en el cmd no me arroja ningún resultado, solo se queda tildando el cursor y ya no me permite hacer nada mas en esa ventana de cmd, solo la puedo cerrar. ¿Qué estará sucediendo? Saludos.
Yo creo se esta ejecutando Apache, para verificar escriba localhost en la barra del explorador.
Buen Dia estoy tratando de agregar un modulo llamado v8js que es para trabajar con React js y no he logrado hacerlo. ¿Sabes como agregarlo? he intentado lo que dice en la guia https://blog.xenokore.com/how-to-install-v8js-for-php-on-windows/ Pero hasta ahora no me funciona me dice este error Fatal error: Uncaught Error: Class ‘V8Js’ not found in C:\server\www\react-php\v8.php:3 Stack trace: #0 {main} thrown in C:\server\www\react-php\v8.php on line 3 Si pudrias ayudarme lo agradecería mucho
Por si se necesita la siguiente informacion:
instale httpd-2.3.25
php 7.0.19
mysql-5.6.36
phpMyAdmin-4.7.1
Hola, buenas tardes..
Acabo de seguir «casi» todos tus pasos para la instalación y configuracion de Apache, PHP y MySQL
Pero, phpMyAdmin, no me funciona. Estoy haciendo la instalacion sobre Windows 10, ya que sobre el Server2012 está funcionando con php5 y he de actualizar php.
Te indico el error que me aparece en el explorador:
#########
Fatal error: Uncaught Error: Call to undefined function mb_detect_encoding() in D:\webes\www\phpMyAdmin\libraries\php-gettext\gettext.inc:177 Stack trace: #0 D:\webes\www\phpMyAdmin\libraries\php-gettext\gettext.inc(282): _encode(‘The %s extensio…’) #1 D:\webes\www\phpMyAdmin\libraries\php-gettext\gettext.inc(289): _gettext(‘The %s extensio…’) #2 D:\webes\www\phpMyAdmin\libraries\core.lib.php(306): __(‘The %s extensio…’) #3 D:\webes\www\phpMyAdmin\libraries\core.lib.php(961): PMA_warnMissingExtension(‘mbstring’, true) #4 D:\webes\www\phpMyAdmin\libraries\common.inc.php(102): PMA_checkExtensions() #5 D:\webes\www\phpMyAdmin\index.php(13): require_once(‘D:\\webes\\www\\ph…’) #6 {main} thrown in D:\webes\www\phpMyAdmin\libraries\php-gettext\gettext.inc on line 177
######
Rogaría me ayudases, ya que tengo varios trabajos para terminar y necesito php7
Gracias de antemano
Buenos días Rodrigo,
excelente tutorial. Empecé con el proceso de instalar Apache + PHP + MySQL, siguiendo los diferente tutoriales que he ido encontrando, pero simpre falla algo. He dado con el tuyo, y no es por hacer la pelota, pero me parece el más claro hasta el momento y el más actualizado. Estoy siguiendo tu tutorial pero tengo el siguiente problema.
Apache no me inicia y mirando qué pasa con la línea httpd -f c:\apache24\conf\httpd.conf, me dice que el módulo php7 para apache no se puede cargar porque no es una aplicacion win32 válida.
Tengo instalado: Apache 2.4.29 para win64 (para instalarlo use: httpd -k install creo recordar),
php 7.1.11 x32 thread safe (simplemente lo descomprimí y edite la variable de entorno path para incluir «C:\php»)
mysql: aún no lo he instalado. No he llegado aún a este punto :S
Qué puedo hacer para solucionarlo???
Gracias de antemano
Encontré el fallo.
Tenía instalado PHP para x32. Lo desisntalé e instalé PHP para 64bits y ya tengo Apache + PHP.
Ahora a por el MySQL. 🙂
He leído los comentarios, para instalar Instalar y configurar correctamente PHP 7 y Apache + MySQL tienen que ser de acuerdo al tipo de sistema, por ejemplo:
Para aquellos que tienen sistema operativo 64 bits instalar PHP X64, MySQL X64, Apache X64
Y para aquellos que tienen sistema operativo 32 bits instalar PHP X86, MySQL X86, Apache X86.
Saludos.
Hola quiero montar una aplicación en apache 2.4 donde solicita un login,ya pegue la aplicación en www/HTML/carpeta de archivos de programa creado,al abrirla el me solicita el loging que yo cree,pero no sé cómo conectar a MySQL desde la carpeta de apache,en campo si me funciona en la carpeta htdocs pero en apache no sirve,que configuración hay que hacer? Ya llevo días tratando de hacerlo y no puedo
Gracias
Hola, desde hace màs de una decada que vengo instalando PHP, MySQL, phpMyAdmin sobre IIS sin problemas, con la ùltima actualizaciòn de Windows 10 dejò de funcionar el servidor y todo lo demàs. En fin, el caso es que esto me llevo a tomar la decisiòn de pasarme a Apache.
Asì encontrè tu tutorial, que debo decir que es màs que excelente! ya que instalè en apenas media hora Apache y PHP. Pensando que ya casi estaba voy por MySQL y descubro que la versión 5.7 ya no trae ningùn archivo de configuraciòn .ini y el Installer de Web Community tampoco trae mas la opciòn para elegir la ruta de instalaciòn. Què te parece que deberìa hacer para instalarlo en la ruta que propones, si lo dejo en Archivos de Programa darà problemas? Gracias de antemano.
Hola, ya lo solucioné. Creando un archivo my.ini a partir del defalut.ini que trae la versión mysql-5.6.38-winx64. Agregando los parametros de configuración dentro de [mysqld] como sugieren en este tutorial sólo de MySql: http://webdevzoom.com/install-mysql-zip-file-on-windows/
Eso sí, las rutas deben ser absolutas. Otro detalle, muy chiquito, al crear el usuario no se olviden de colocar el password en el comando mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘new_password’;
Muchas gracias por compartir tu conocimiento y crear este tutorial tan útil. Saludos
amigo este tambien sirve para windows xp ??
yo usaba el xampp o appserv pero como ya no tren soporte para windows xp con php7 nose que hacer, asi que estaba buscando de instalar manualmente como aqui, pero servira php7 con window xp?
amigo este tambien sirve para windows xp ??
yo usaba el xampp o appserv pero como ya no tren soporte para windows xp con php7 nose que hacer, asi que estaba buscando de instalar manualmente como aqui, pero servira php7 con window xp?
Hola , quisiera hacerte una consulta tengo instalado el WampServer 3.1.0 , con PHP Versión 7.0.23 , MySql 5.7.19 , Apache Versión 2.4.27 ; y sobre este servidor instalo ATutor-2.2.3-b1 y me salen los siguientes errores cuando instalo ATutor :
* Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; Message has a deprecated constructor in C:\wamp64\www\ATutor-2.2.3-b1\ATutor\include\classes\Message\Message.class.php on line 20
* require_once( ‘C:\wamp64\www\ATutor-2.2.3-b1\ATutor\install\include\common.inc.php’ )
Te agradecería , ya que es de manera urgente. Muchas Gracias
Ingresa a la dirección C:\wamp64\www\ATutor-2.2.3-b1\ATutor\include\classes\Message\Message.class.php abrir el archivo en un editor de texto o de código.
cambia este constructor:
function Message($savant) {
$this->savant = $savant;
}
Por este otro:
function __construc($savant)
{
$this->savant = $savant;
}
Y si no funciona te recomiendo que utilices PHP 5.0.2, ya la aplicación web correría mejor en esa versión.
https://www.apachefriends.org/xampp-files/7.2.4/xampp-win32-7.2.4-0-VC15-installer.exe
XAMMP https://www.apachefriends.org/download.html
Gracias por tremendo aporte.
Buenas Tardes.
Quisiera saber si me pueden ayudar con este error:
«No se encuentra el punto de entrada del procedimiento vspprintf en la biblioteca de vínculos dinámicos»
Quedo atento
Hola amigo gracias por el tutorial instale Apache Server, PHP 7 y MSQL 8.0 cuando ejecuto el localhost me arroja este error => No se encontró la extensión mysqli. Revisa la configuración PHP. Revise nuestra documentación para más información, la extension mysqli ya esta habilitada mas sin embargo no funciona el phpmyadmin como puedo solucionarlo gracias
a lo mejor tenga que configurar el php.ini para que este habilitado la carpeta de las extenciones que el php tiene en la siguiente linea extension_dir = «C:\servidor\php\ext», tambien verifique que la extención mysqli este habilitada en la linea extension=mysqli y por ultimo que la extención en archivo php_mysqli.dll exista en la carpeta ext(extenciones) que se encuentra dentro del php, espero le sirva …saludos
cada que levanta mi apache me pide usuario y contraseña como deshabilito es opcion
Rodrigo: Harto despues de haber perdido el conector mysqli y no poder retomarlo desde hace mucho en VC14/x86, encontré muy interesante tu tutorial por la forma personal de desarrollar la plataforma y combinar tantas librerías y módulos que hacen falta y deben sincronizar. Lo comencé a cumplí al pie de la letra, en mi Windows 7 SP1 con SO de 64 bits ( Pentium G3025 ) para un escenario ahora VC14/x64, y seleccioné de Apache Lounge elegí httpd-2.4.41-win64-VC14 y php-7.1.32-Win32-VC14-x64. Pero estoy peor: Bien el Apache pero no logro que Chrome ejecute con exito ni siquiera el index.php (me lo muestra como un documento). Una sola pregunta: ¿Puede ser que no admita interpretar x64 y deba retroceder a programas x86? Gracias por contestarme si podés. Y te felicito por tu blog.
saludos
Se podrá actualmente instalar PHP 7 en windows seven 32 bits ?
Claro el php 7 de 32 bits en un sistema Operativo Windows 7 de 32 Bits.https://windows.php.net/downloads/releases/php-7.4.13-nts-Win32-vc15-x86.zip
Hola,
Para comenzar felicitarte por esta guía que me sirvió mucho.
Por otra parte después de realizar este ultimo paso.
me sale el mensaje de:
«No se encontró la extensión mysqli. Revisa la configuración PHP. Revise nuestra documentación para más información.»
Sabes cual seria la raíz de este error?
hola.
tengo un problema: nunca llega a reconocer el php7apache2_4.dll.
siempre me sale el mensaje: «Cannot load C:/progUsu/php/php7apache2_4.dll into server: No se puede encontrar el m\xf3dulo especificado.»
he descargado todas las versiones de esa dll, pero no funciona con ninguna.
de la pagina que lo hedescargado es: «https://es.dll-files.com/php7apache2_4.dll.html»
en que podria estar el problema??
Talves tenga que instalar la libreria Microsoft C++ 2017 en https://support.microsoft.com/es-ec/help/2977003/the-latest-supported-visual-c-downloads
Muy buenas tardes saludando a tan dinstinguída comunidad y de paso saludarlo estimado amigo, primeramente para felicitarle por este gran contenido que ha sido de mucha, mucha ayuda, sin antes poder mencionar que efectivamente pude llevar a cabo los pasos para instalar el php 7.4.13(actual), con su guia, en ocasiones anteriores he intentado instalar el php 7 y en algunas de estas instalaciones no me funcionaba, aclaro que las que me funcionaban son las instalaciones de php 7.1.x , 7.2.x y hasta las 7.3, pero apartir de alli intente instalar la versión php 7.4.9(de ese momento) sin obtenerlo, luego pues utilizando esta guía muy interesante para intentar instalar el php 7.4.13 que es el actual no lo consegui, luego de analizar los requerimientos puesto que yo deseaba instalar este php en un equipo windows 7, pude constatar y para los amantes de este windows 7 y para que funcione en este sistema recomiendo se tenga que instalar la libreria «Microsoft Visual C++ 2017 » ya sea de 32 o 64 bits para que el php 7.4.13 mas todos los pasos de esta guía permita funcionar en su equipo. En el windows 10 no creo que tenga estos problemas, llevo instalando el php por más de 10 años desde la version 4, pasando por la 5 con todas sus subversiones y ahora nos toca navegar hacia la 7 y 8 actuales…saludos cordiales de un amante de la tecnología.