Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

332
Visualizações
intento de conexión mysqli falló después de unos 20 segundos

Estoy tratando de configurar un servidor web en casa, usando XAMPP v3.2.2, que se ejecuta en una tableta con Windows 10 de 32 bits.
Tiene:
-Apache/2.4.38 (Win32)
- PHP Versión 7.3.2
- mysql Ver 15.1 Distrib 10.1.38-MariaDB, para Win32 (AMD64)

La configuración de DNS para mi dominio incluye un registro A, que apunta a mi dirección IP externa (asignada por el ISP y la misma durante años), tanto para www.mydomain.mytld como para @.mydomain.mytld .

El reenvío de puertos para el puerto 80 al servidor se configuró en mi enrutador.

El archivo httpd.conf de Apache incluye una sección:

 <VirtualHost *:80> ServerName www.mydomain.mytld ServerAlias *.mydomain.mytld </VirtualHost>

En MySQL, el nombre de usuario del username de la base de datos tiene privilegios SELECT , DELETE , INSERT y UPDATE para la base de database a la que se accede desde localhost .

En el archivo .php me conecto a la base de datos usando:

 $dbUrl = "127.0.0.1"; $dbUser = "username"; $dbPass = "password"; $dbName = "database"; $db = new mysqli($dbUrl, $dbUser, $dbPass, $dbName);

Esto funciona bien cuando accedo a esto en el propio servidor (usando http://127.0.0.1/ ).
También funciona bien cuando accedo al mismo desde otra computadora en la red doméstica usando la dirección de red del servidor ( http://192.168.178.35/ ).
También funciona bien cuando accedo al mismo desde otra computadora en la red doméstica usando mi dirección IP externa (asignada por el ISP).

Pero... cuando intento lo mismo usando mi nombre de dominio, falla: "Advertencia: mysqli::__construct(): (HY000/2002): Un intento de conexión falló porque la parte conectada no respondió correctamente después de un período de tiempo, o la conexión establecida falló porque el host conectado no respondió". en la instrucción $db = new mysqli(...

Probé localhost e incluso la dirección de red del servidor ( 192.168.178.35 ) para $dbUrl , y también intenté incluir el número de puerto 3306 , todo fue en vano.
Probé el usuario root con todos los privilegios también, los resultados siguen siendo los mismos.

Otras páginas en el mismo servidor (tanto .html como .php) que no usan la base de datos, funcionan bien usando mi nombre de dominio.

En algún lugar de Internet encontré que tal vez esto podría resolverse comentando (con un # ) la línea ::1 localhost en el archivo %WINDIR%\system32\drivers\etc , pero esa línea ya está comentada en mi archivo de hosts.

Dado que todo funciona bien usando mi dirección IP externa, simplemente no usando mi nombre de dominio, espero que simplemente me falten algunas directivas en algún lugar de uno de los muchos archivos de configuración, pero no puedo encontrar lo que me falta.

¿Alguna idea, alguien?
Gracias por adelantado.

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

He encontrado el problema.

Estúpido, supervisé un código obsoleto que alteró el valor de la variable $dbUrl, según la información de $_SERVER["SERVER_NAME"], entre la declaración de asignación y la creación del objeto mysqli. Eliminé el código antiguo y ahora funciona perfectamente.

Gracias a todos los que se tomaron el tiempo de leer este problema y perdón por hacerles perder el tiempo.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda