reading not development app php laravel environment-variables env laravel-5.2

php - not - Laravel 5.2 no lee el archivo env



laravel production mode (23)

Además de lo que sugirió @andrewtweber, asegúrese de no tener espacios entre KEY = y el valor a menos que esté entre comillas

archivo .env , por ejemplo:

... SITE_NAME= My website MAIL_PORT= 587 MAIL_FROM_NAME= websitename ...

a:

... SITE_NAME="My website" MAIL_PORT=587 MAIL_FROM_NAME=websitename ...

Después de actualizar a Laravel 5.2, ninguno de mis valores de archivo .env se está leyendo. Seguí las instrucciones de actualización ; ninguno de mis archivos de configuración fue cambiado excepto auth.php. Todos estaban funcionando bien en la versión anterior, 5.1.19

.env contiene valores como

DB_DATABASE=mydb DB_USERNAME=myuser

config/database.php contiene

''mysql'' => [ ''database'' => env(''DB_DATABASE'', ''forge''), ''username'' => env(''DB_USERNAME'', ''forge''), ]

Me sale este error:

PDOException: SQLSTATE[HY000] [1045] Access denied for user ''forge''@''localhost'' (using password: NO)

Claramente no tirando de mi configuración de env. Esto está afectando a cada uno de mis archivos de configuración, incluidos terceros como bugsnag.

También intenté

php artisan config:clear php artisan cache:clear

Actualizar

Probar el php artisan tinker

>>> env(''DB_DATABASE'') => null >>> getenv(''DB_DATABASE'') => false >>> config(''database.connections.mysql.database'') => "forge" >>> dd($_ENV) []

He intentado instalar una copia nueva de Laravel 5.2. Básicamente solo copié en la carpeta de mi app ; No se incluyen paquetes de compositor adicionales. Aún tengo el mismo problema. Tengo otros proyectos de Laravel 5.2 en el mismo servidor que funcionan bien.


Cometí el error al hacer dd / die / dump en el archivo index.php . Esto hace que el sistema no regenere las configuraciones.

Simplemente volcar en ver archivos hará. Los cambios en el archivo .env actualizan al instante.


Cuando disparó el comando php artisan config:cache , borrará todas las variables env y env() dará valores nulos, intente ejecutar el siguiente comando y aumente allí su env() nuevamente comenzará a capturar todas las variables env

php artisan config:clear


De las Notas de actualización oficiales de Laravel 5.2:

Si está utilizando el comando config:cache durante la implementación, debe asegurarse de que solo está llamando a la función env desde sus archivos de configuración, y no desde cualquier otro lugar de su aplicación.

Si está llamando a env desde su aplicación, se recomienda que agregue valores de configuración adecuados a sus archivos de configuración y llame a env desde esa ubicación, lo que le permite convertir sus llamadas de env llamadas de config .

Referencia: https://laravel.com/docs/5.2/upgrade#upgrade-5.2.0


En mi caso, laravel 5.7 env(''APP_URL'') no funciona pero config(''app.url'') funciona. Si agrego una nueva variable a env y config, no funciona, pero después de php artisan config:cache , comienza a funcionar.


Guau. Buena pena Es porque tenía un valor env con un espacio en él, no rodeado de comillas

Esta

SITE_NAME=My website

Cambiado a esto

SITE_NAME="My website"

Arreglado. Creo que esto tuvo que ver con Laravel 5.2 ahora actualizando vlucas/phpdotenv de 1.1.1 a 2.1.0


La simplicidad es el poder:

php artisan config:cache

Usted recibirá:

Configuración de caché borrada!

Configuración en caché con éxito!


Lo mismo sucede cuando: el puerto está en su .env local

de nuevo las comillas dobles hacen el truco

APP_URL="http://localhost:8000"

y entonces

php artisan config:clear


Me encontré con este mismo problema en mi local, y he intentado todas las respuestas aquí, pero fue en vano. Solo esto funcionó para mí, php artisan config:clear y restart server . ¡Funciona de maravilla!


Me enfrento al mismo problema durante mucho tiempo durante el desarrollo larvario. algunas veces env deja de funcionar y no devuelve ningún valor. esa razón puede ser diferente que depende de su situación. pero en mi caso hace unos días acabo de correr

PHP artisan::config:clear

así que tenga cuidado de usar este comando. porque borrará todos los datos de configuración de su caché. así que después de eso, no devolverá ningún valor. Entonces, en esta situación, debe usar esto primero si ha ejecutado PHP artisan config :: clear command.

php artisan config:cache // it will cache all data php artisan config:clear Configuration cache cleared!


Me perdí esto en las instrucciones de actualización:

Agregue una opción de configuración env a su archivo de configuración app.php que app.php el siguiente aspecto: ''env'' => env(''APP_ENV'', ''production'')

Al agregar esta línea, el archivo .env local se debe leer correctamente.


Para mí ha funcionado esto en este orden:

php artisan config:cache php artisan config:clear php artisan cache:clear

Y he probado todos los restos sin suerte.


Para mí lo siguiente funcionó

  • php artisan config: caché
  • php artisan config: clear
  • php artisan cache: clear

Resolví este problema generando una nueva clave usando el comando: php artisan key:generate


Si alguna de sus variables .env contiene espacios en blanco, asegúrese de .env entre comillas dobles. Por ejemplo:

SITE_NAME="My website"

No olvides borrar tu caché antes de probar:

php artisan config:cache php artisan config:clear


Si ejecuta este comando php artisan config:cache en la consola, almacenará todos los contenidos del archivo .env en caché, después de este comando si agrega cualquier contenido al archivo .env, no estará disponible hasta que ejecute php artisan config:clear comando php artisan config:clear


Tuve el mismo problema en el entorno local, resolví por

  1. php artisan config: clear
  2. php artisan config: caché
  3. y luego cancela el comando php artisan serve y reinicia nuevamente.

Tuve un problema similar en mi config/services.php y lo resolví usando config clear y optimize comandos:

php artisan config:clear php artisan optimize


Yo experimenté esto. La razón era que apache (usuario www-data) no podía leer .env debido a los permisos de archivo. Así que cambié los permisos del archivo para asegurarme de que el servidor (apache) tuviera permisos de lectura para el archivo. Solo eso y boom, ¡todo funcionaba ahora!


ejecuta esto:

php artisan config:clear php artisan cache:clear

entonces
php artisan config:cache


eliminar caché usando:

php artisan config:clear php artisan config:cache


si llamó a config: cache durante el desarrollo local, puede deshacer esto eliminando el archivo bootstrap / cache / config.php. y esto es trabajo para mi


si llamó a config: cache durante el desarrollo local, puede deshacer esto eliminando el archivo bootstrap / cache / config.php. y esto es trabajo para mi

@Payal Pandav ha dado el comentario anterior.

Quiero contar una solución simple. Simplemente edite el archivo config.php en la carpeta bootstrap / cache /. Y cambiar las credenciales. Esto funcionó para mí. No elimine este archivo ya que puede contener otros datos cruciales en el entorno de producción.