Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

222
Vistas
Solicitud HTTP de una aplicación Laravel en un host virtual Apache a una aplicación Lumen en hosts virtuales hermanos: MySQL Acceso denegado para el usuario 'root'@'localhost'

Tengo un problema muy extraño con las aplicaciones Laravel y Lumen en hosts virtuales WAMP. En resumen, el problema es que las credenciales de la base de datos de la aplicación Laravel las sobrescriben en la aplicación Lument durante una solicitud HTTP. Esto hace que la aplicación Lumen arroje un error de Access denied de MySQL.

Mi configuración

Estoy bajo WAMP en mi máquina de desarrollo local, dos hosts virtuales establecidos. Uno para la aplicación Laravel (por ejemplo, laravel.localhost , aplicación web), otro para la aplicación Lumen ( lumen.localhost , servicio web, API). Ambas aplicaciones se sirven a través de hosts virtuales Apache desde diferentes carpetas del disco duro.

Ambas aplicaciones tienen diferentes configuraciones .env . En la aplicación Laravel, la configuración de la base de datos no está configurada (se mantiene una predeterminada, sin usar una base de datos). En la aplicación Lumen, se configuró el acceso a la base de datos a una base de datos específica. Ambos usan la parte de configuración de base de datos predeterminada:

 DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306

pero, por supuesto, diferentes nombres y credenciales de DB.

Access denied for user 'root'@'localhost'

El problema surge tan pronto como desde el navegador (!) o desde Postman (!) Realizo una solicitud HTTP desde laravel.localhost a lumen.localhost . Recibo una solicitud en el lado de la aplicación Lumen y me conecto a DB. Luego, aparece el error SQL Access denied for user 'root'@'localhost' .

Si inspecciono la conexión de la base de datos en el lado de la aplicación Lumen ( config('database.connections.mysql') ), muestra las credenciales de la base de datos del lado de la aplicación Laravel, lo cual es una gran sorpresa para mí.

Por supuesto, como la aplicación Lumen tiene diferentes credenciales de base de datos, las credenciales de base de datos de la aplicación Laravel provocan el error Access denied .

Otro lado de este efecto es que si pongo las credenciales de la base de datos de la aplicación Lumen en la aplicación Laravel .env la solicitud HTTP se realiza sin errores.

Comportamiento extraño

Todo esto me hace pensar que estas dos aplicaciones de alguna manera comparten el mismo PHP o PDO o cualquier entorno en el que se mantenga la configuración de Larevel DB. Y este comportamiento es muy extraño.

Por el contrario, si realizo las mismas solicitudes HTTP desde mis pruebas de PHPUnit desde la aplicación Laravel a la aplicación Lumen, no hay problema.

Borrar los cachés de Laravel no ayuda. Las credenciales de la base de datos de la aplicación Laravel no se almacenan en caché. Puedo cambiarlos antes de cada solicitud y se filtran en el lado de la aplicación Lumen "con" la solicitud.

¿Alguien puede ayudar?

over 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda