php - Cómo resolver el error “[ErrorException] file_get_contents(/var/www/laravel/.env): no se pudo abrir la secuencia: ¿No existe tal archivo o directorio”?
ubuntu-14.04 file-get-contents (6)
Cambie el nombre de .env.example a .env y complete todas las propiedades. https://laravel.com/docs/5.0/configuration#environment-configuration
Estoy usando Ubuntu 14.04 en mi máquina. Instalé compositor y luego lo coloqué en la raíz del documento, es decir, / var / www
También le di -R 777 a la carpeta presente en el directorio / var / www
Luego voy al directorio laravel usando cd / var / www / laravel y ejecuto el siguiente comando php artisan y pude ver todos los comandos disponibles allí.
Luego escribí en php artesanal clave: generar y obtuve el error
[ErrorException] file_get_contents(/var/www/laravel/.env): failed to open stream: No such file or directory
Aquí me quedé atascado en realidad, ¿puede alguien ayudarme en este sentido?
Gracias.
Cambie el nombre de .env.example
a .env
en su carpeta raíz de laravel
El archivo .env
aún no está presente porque primero deberá crearlo y configurarlo.
Haz lo siguiente
# Navigate to the correct folder
$ cd /var/www/laravel
# Copy the example file to make a .env file
$ cp .env.example .env
# Set the parameters
$ vi .env
Probablemente te perdiste el archivo .env
en la carpeta de proyectos de laravel. .env.example
que .env
.env.example
to .env
. También da la conexión de base de datos requerida.
.env
archivo .env
este aspecto: (Rellene con la conexión de base de datos requerida)
APP_ENV=local
APP_DEBUG=true
APP_KEY=SomeRandomString
APP_URL=http://localhost
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
Espero que esto te ayude. Gracias.
Puedes crearlo y volver a ejecutar el comando.
# cd /var/www/laravel
# touch .env
# php artisan key:generate
Application key set successfully.
Si, como yo, tenía un archivo .env
, es posible que tenga permisos demasiado ajustados para que el usuario actual pueda escribir en él (y, por supuesto, el comando php artisan que su usuario actual intenta ejecutar). Había cambiado todos mis archivos Laravel para que fueran propiedad de www-data:www-data
y convertí a mi usuario actual en miembro del grupo www-data
, por lo que me sorprendió un poco este error.
Sin embargo, pronto me di cuenta de que mi archivo .env
tiene los siguientes permisos:
-rw-r--r--
... lo que significa que el usuario que posee el archivo obtiene lectura y escritura, pero el grupo y el mundo solo pueden leer. Como mi usuario actual es miembro del grupo www-data
, solo puede leer, no escribir.
(Puedes verificar tus permisos de archivo haciendo $ ls -la
)
Si tienes la misma situación, tienes dos opciones; afloja los permisos de archivo en ese archivo (con chmod
) o usa sudo
para ejecutar tus comandos php artisan. Elegí este último, ya que este es un servidor de producción para mí y me gustan los permisos ajustados.