[Resuelto] Mi servidor PHP no se conecta con MySQL

Iniciado por Antonio_1987, 12 Octubre 2015, 08:07 AM

0 Miembros y 2 Visitantes están viendo este tema.

Antonio_1987

Hola con todos, ¿cómo les va? Fíjense, estoy probando un pequeño sistema de Intranet, pero en el momento de hacer la conexión en PHP no logro llegar a la BD en MySQL, la página se queda cargando eternamente y se agota el tiempo de espera. La cadena de conexión es una común del tipo:

$ConexionBD = mysqli_connect("$host","$usu","$pass", "$bd");

El problema debe estar en que estoy usando AppServer, la versión 2.5.10; pero sólo instalé de ella el Apache y el PHP. Pasa que ya tengo el MySQL (una versión actual), con mi BD trabajando con el Workbench instalado y todo eso, y no quiero desinstalar esa versión y trabajar con la antigua que me trae el AppServer. Pensé que no iba a haber dificultades instalando sólo Apache y PHP, pero parece que simplemente no se logran comunicar con mi motor MySQL.

Espero me puedan ayudar, talvez diciéndome qué archivos debería configurar para arreglar ese lío, o si doy mi brazo a torcer e instalo el AppServer completo nada más (sólo que esta BD es muy importante así que preferiría no mover nada ni trabajarla con otra versión). Gracias.


0roch1

Verifica que el Servicio de Apache esté iniciado.


Revisa en el httpd.conf que Apache esté escuchando el puerto 80 (en caso de haber dejado ese puerto)



y el nombre y puerto del Servidor


Comprueba en el Monitor de recursos mediante el PID que el puerto 80 es usado únicamente por la imagen httpd.exe





Si todo está en orden deberías poder ver la página de inicio de Appserv



Prueba y comenta cualquier duda.

Antonio_1987

Hola, gracias por contestar. :) Pues sí, sí puedo ver la página de inicio de AppServer, de hecho mi sistema está funcionando, el navegador abre mis páginas PHP por el puerto 8080 y todo lo demás. El detalle está cuando tiene que hacer consultas a la BD, la página no se conecta nunca y se agota el tiempo de espera, como narré. ¿Una idea de dónde estaría la falla? :/ Saludos y gracias.

dRak0

#4
EDIT:Mejor usa mysqli_connect_error() , http://php.net/manual/es/mysqli.connect-error.php

0roch1

Estás ejecutando alguna consulta que posiblemente devuelva muchos registros?.
El Servicio de MySQL lo tienes iniciado?
Los datos de conexión son los correctos?
Si realizas solo la conexión tienes el mismo problema?.

Código (php-brief) [Seleccionar]

<?php
$enlace 
mysqli_connect("servidor""usuario""contrasena""base_datos");

if (!
$enlace) {
    echo 
"Error: No se pudo conectar a MySQL." PHP_EOL;
    echo 
"errno de depuracion: " mysqli_connect_errno() . PHP_EOL;
    echo 
"error de depuracion: " mysqli_connect_error() . PHP_EOL;
    exit;
}else {
echo "Exito: Se realizo una conexion apropiada a MySQL! La base de datos mi_bd es genial." PHP_EOL;
echo "Informacion del host: " mysqli_get_host_info($enlace) . PHP_EOL;
}

mysqli_close($enlace);
?>


http://php.net/manual/es/function.mysqli-connect.php

Antonio_1987

#6
Hola, amigos, qué tal.

A ver, probé sólo con el archivo que me mandaste, 0roch1, dándole mis parámetros de conexión. Cuando coloco "localhost" como nombre de host, me sale este error:

Warning: mysqli_connect() [function.mysqli-connect]: (HY000/2002): Se produjo un error durante el intento de conexión ya que la parte conectada no respondió adecuadamente tras un periodo de tiempo, o bien se produjo un error en la conexión establecida ya que el host conectado no ha podido responder. in C:\AppServ\www\Otros\FEDCUT\conect.php on line 2

(Línea 2 es la que contiene los parámetros de conexión: $enlace = mysqli_connect(....) )

En cambio, si coloco la dirección "127.0.0.1", aparece lo siguiente:

Warning: mysqli_connect() [function.mysqli-connect]: (28000/1045): Access denied for user 'root'@'localhost' (using password: YES) in C:\AppServ\XXXXXXXXXX\conect.php on line 2
Error: No se pudo conectar a MySQL. errno de depuracion: 1045 error de depuracion: Access denied for user 'root'@'localhost' (using password: YES)


¿Alguna idea de dónde debería reconfigurar las cosas para que no me tome una password "YES" sino la que yo le estoy poniendo en los parámetros? Porque parece que por ahí está viniendo el problema... Espero me puedan guiar, muchachos. Gracias.   :)

MinusFour

Cita de: Antonio_1987 en 13 Octubre 2015, 08:14 AM
Hola, amigos, qué tal.

A ver, probé sólo con el archivo que me mandaste, 0roch1, dándole mis parámetros de conexión. Cuando coloco "localhost" como nombre de host, me sale este error:

Warning: mysqli_connect() [function.mysqli-connect]: (HY000/2002): Se produjo un error durante el intento de conexión ya que la parte conectada no respondió adecuadamente tras un periodo de tiempo, o bien se produjo un error en la conexión establecida ya que el host conectado no ha podido responder. in C:\AppServ\www\Otros\FEDCUT\conect.php on line 2

(Línea 2 es la que contiene los parámetros de conexión: $enlace = mysqli_connect(....) )

En cambio, si coloco la dirección "127.0.0.1", aparece lo siguiente:

Warning: mysqli_connect() [function.mysqli-connect]: (28000/1045): Access denied for user 'root'@'localhost' (using password: YES) in C:\AppServ\XXXXXXXXXX\conect.php on line 2
Error: No se pudo conectar a MySQL. errno de depuracion: 1045 error de depuracion: Access denied for user 'root'@'localhost' (using password: YES)


¿Alguna idea de dónde debería reconfigurar las cosas para que no me tome una password "YES" sino la que yo le estoy poniendo en los parámetros? Porque parece que por ahí está viniendo el problema... Espero me puedan guiar, muchachos. Gracias.   :)

Simplemente te está diciendo que estas usando una contraseña, no que la contraseña sea 'YES'. El login parece que esta mal (tu usuario es root? La password es correcta?)

Antonio_1987

Ya modifiqué la contraseña del root, la cotejé y esta vez sí se pudo conectar, apareciéndome el mensaje de Éxito que configuraste, Minusfor. Muchas gracias. ;) Para dar el tema por solucionado, sólo una cosita más: ¿Por qué la diferencia de "Tiempo de espera agotado" cuando usaba el Localhost en vez de "127.0.0.1"?
Muchas gracias, un saludo.

MinusFour

Cita de: Antonio_1987 en 13 Octubre 2015, 19:59 PM
Ya modifiqué la contraseña del root, la cotejé y esta vez sí se pudo conectar, apareciéndome el mensaje de Éxito que configuraste, Minusfor. Muchas gracias. ;) Para dar el tema por solucionado, sólo una cosita más: ¿Por qué la diferencia de "Tiempo de espera agotado" cuando usaba el Localhost en vez de "127.0.0.1"?
Muchas gracias, un saludo.

Debería funcionar, quizás lo escribiste mal. Si no debe ser alguna configuración de resolución de dominios de PHP o algo esta mal con tu SO.