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

226
Visualizações
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 à 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