Después de actualizar a Laravel 5.2, no .env
se lee ninguno de mis valores de archivo. Seguí las instrucciones de actualización ; ninguno de mis archivos de configuración fue cambiado excepto auth.php. Todos funcionaban 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 env. Esto está afectando a todos y cada uno de mis archivos de configuración, incluidos los de terceros, como bugsnag.
También lo intenté
php artisan config:clear
php artisan cache:clear
Actualizar
Molesto php artisan tinker
>>> env('DB_DATABASE')
=> null
>>> getenv('DB_DATABASE')
=> false
>>> config('database.connections.mysql.database')
=> "forge"
>>> dd($_ENV)
[]
Intenté instalar una copia nueva de Laravel 5.2. Básicamente, solo copié en mi app
carpeta; no se incluyen paquetes de compositor adicionales. Sigo teniendo el mismo problema. Tengo otros proyectos de Laravel 5.2 en el mismo servidor que funcionan bien.
fuente
.env
Respuestas:
De las notas de actualización oficiales de Laravel 5.2:
Referencia: https://laravel.com/docs/5.2/upgrade#upgrade-5.2.0
fuente
php artisan config:cache
lo resolvió para mí, nada más había ayudado. Ni siquieraphp artisan config:clear
- ¡gracias!php artisan config:clear
es lo único que funcionó para míphp artisan config:clear
funcionó para mí. No hice config: cache antes, así que me pareció un poco extraño tener que borrar el caché..env
lugar de.env.example
archivoSi alguna de sus
.env
variables contiene espacios en blanco, asegúrese de incluirlas entre comillas dobles. Por ejemplo:SITE_NAME="My website"
No olvide borrar su caché antes de realizar la prueba:
fuente
.env
archivo, ejecute elphp artisan config:cache & php artisan config:clear
comando. Funcionará.Guau. Caramba. Es porque tenía un valor env con un espacio en él, no entre comillas
Esta
Cambiado a esto
Arreglado. Creo que esto tuvo que ver con Laravel 5.2 ahora actualizando vlucas / phpdotenv de 1.1.1 a 2.1.0
fuente
.env
menos de 5.2, mientras que en 5.1 no.phpdotenv
, pero Laravel aún sabe que hay un.env
archivo que debe incluirse y que no tuvo éxito, pero no se molesta en decírselo a nadie.Para mí ha funcionado esto en este orden:
Y he probado todos los descansos sin suerte.
fuente
Tuve un problema similar en mi
config/services.php
y lo resolví usando los comandosconfig clear
yoptimize
:fuente
Para mí funcionó lo siguiente
fuente
ejecuta esto:
luego
php artisan config:cache
fuente
Tuve el mismo problema en el entorno local, lo resolví
fuente
Puede resolver el problema con la siguiente recomendación
Recomendación 1:
Debe usar el archivo .env a través de los archivos de configuración, lo que significa que debe leer el archivo .env de los archivos de configuración (como /config/app.php o /config/database.php), luego puede usar la configuración archivos desde cualquier ubicación de su proyecto.
Recomendación 2: establezca su valor env entre comillas dobles
Recomendación 3: Mantenga la siguiente secuencia de comandos después de cambiar cualquier configuración o valor env.
Recomendación 4: cuando la sintaxis1 no funciona, puede probar con otra sintaxis2
Recomendación 5: cuando su número de usuarios es alto / más , debe aumentar el tamaño de la memoria relacionada en la configuración del servidor .
Recomendación 6: establezca un valor probable predeterminado cuando lea la variable .env.
fuente
Cuando disparó el comando
php artisan config:cache
, eliminará todas lasenv
variables yenv()
dará valores nulos, intente ejecutar el siguiente comando y aumente allí,env()
nuevamente comenzará a capturar todas lasenv
variablesfuente
Me perdí esto en las instrucciones de actualización:
Al agregar esta línea, el
.env
archivo local se leyó correctamente.fuente
La simplicidad es el poder:
Usted recibirá:
¡Se borró la caché de configuración!
¡Configuración almacenada en caché con éxito!
fuente
Lo mismo sucede cuando: el puerto está en su .env local
de nuevo las comillas dobles hacen el truco
y entonces
fuente
eliminar caché usando:
fuente
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:
a:
fuente
Me encontré con este mismo problema en mi local, y probé todas las respuestas aquí, pero fue en vano. Solo esto funcionó para mí,
php artisan config:clear
yrestart server
. ¡Funciona de maravilla!fuente
php artisan config:cache
,php artisan config:clear
entoncesphp artisan cache:clear
Resolví este problema generando una nueva clave usando el comando:
php artisan key:generate
fuente
Si llamó a config: cache durante el desarrollo local, puede deshacer esto eliminando el archivo bootstrap / cache / config.php. y esto es trabajo para mí.
fuente
Si llamó a config: cache durante el desarrollo local, puede deshacer esto eliminando el archivo bootstrap / cache / config.php. y esto es trabajo para mí.
@Payal Pandav ha dado el comentario anterior.
Quiero contar una solución sencilla. Simplemente edite el archivo config.php en la carpeta bootstrap / cache /. Y cambia las credenciales. Esto funcionó para mí. No elimine este archivo, ya que puede contener otros datos cruciales en el entorno de producción.
fuente
En mi caso, laravel 5.7
env('APP_URL')
no funciona peroconfig('app.url')
funciona. Si agrego una nueva variable aenv
y a la configuración, no funciona, pero después dephp artisan config:cache
que comienza, funciona.fuente
php artisan optimize:clear
php artisan config:clear
, borrará su caché de configuración y no se generará nuevamente y cuando entre en producción, puede ejecutarphp artisan config:cache
para almacenar en caché sus configuracionesSi ejecuta este
php artisan config:cache
comando en la consola, almacenará todo el contenido del archivo .env en la caché, después de este comando, si agrega algún contenido al archivo .env, no estará disponible hasta que ejecute elphp artisan config:clear
comandofuente
Me enfrento al mismo problema mucho tiempo durante el desarrollo larvario. Algunas veces env deja de funcionar y no devuelve ningún valor. esa razón puede ser diferente dependiendo de su situación. pero en mi caso hace unos dias solo corro
así que tenga cuidado al 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 el comando PHP artisan config :: clear .
fuente
Experimenté esto. La razón fue 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) tenía permisos de lectura para el archivo. Solo eso y boom, ¡todo estaba funcionando ahora!
Actualización: la
forma de hacer esto varía, dependiendo de quién sea el propietario del archivo .env, pero asumiendo que pertenece al
www-data
grupo Apache , puede hacer esto:Modifíquelo según su estructura de permisos.
fuente
So i changed the file permissions to ensure that the server (apache) had read permissions to the file.
este es un enfoque realmente incorrecto. Debería haber arreglado la configuración de apaxhe para que sirva a este sitio en particular como propietario que posee estos archivosCometí el error al hacer dd / die / dump en el
index.php
archivo. Esto hace que el sistema no regenere las configuraciones.Basta con volcar en los archivos de vista. Los cambios en el
.env
archivo se actualizan instantáneamente.fuente
Tuve algunos problemas con esto. Parecía ser un problema de permiso de archivo en algún lugar de la aplicación, no el archivo .env.
Tuve que - detener mi ventana acoplable - usar chown para establecer los derechos de propiedad de mi propio usuario para todo el proyecto - iniciar la ventana acoplable nuevamente
Esta vez funcionó.
fuente
Probé casi todo lo anterior. Terminé haciendo
chmod 666 .env
que funcionó. Este problema parece seguir apareciendo en la aplicación que heredé, sin embargo, esta vez más reciente fue después de agregar un .env.testing. Ejecutando Laravel 5.8
fuente