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ónenv
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 aenv
desde esa ubicación, lo que le permite convertir sus llamadas deenv
llamadas deconfig
.
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
queapp.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
- php artisan config: clear
- php artisan config: caché
- 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.