web-dev-qa-db-fra.com

Comment résoudre l'erreur "[ErrorException] file_get_contents (/var/www/laravel/.env): échec de l'ouverture du flux: fichier ou répertoire de ce type"?

J'utilise Ubuntu 14.04 sur ma machine. J'ai installé composer puis laravel à la racine du document, à savoir / var/www

J'ai également donné la persmission du dossier -R 777 dans le dossier laravel présent dans le répertoire / var/www.

Ensuite, je vais dans le répertoire laravel en utilisant cd/var/www/laravel et lance la commande suivante php artisan.

Puis j'ai tapé php clé artisanale: générer et j'ai eu l'erreur 

[ErrorException]  file_get_contents(/var/www/laravel/.env): failed to open stream: No such file or directory

 enter image description here Ici, je suis coincé, quelqu'un peut-il m'aider, s'il vous plaît, à cet égard?

Merci.

17
user2839497

Renommez .env.example en .env dans votre dossier racine Laravel.

36
Vinod VT

Le fichier .env n'est pas encore présent car vous devez d'abord le créer et le configurer.

Faire ce qui suit

# 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
4
Peter

Renommez .env.example en .env et remplissez toutes les propriétés . https://laravel.com/docs/5.0/configuration#environment-configuration

3
kejsu

Vous avez probablement manqué votre fichier .env dans le dossier du projet laravel. Créez donc le fichier .env.example en .env Indiquez également la connexion de base de données requise.

.envfile ressemble à ceci: (Remplissez avec la connexion de base de données requise)

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

J'espère que cela vous aidera. Merci.

1
Chonchol Mahmud

Si, comme moi, vous avez avez un fichier .env, vous pouvez constater qu'il dispose d'autorisations trop restrictives pour permettre à votre utilisateur actuel de l'écrire (et par conséquent, la commande php artisan que votre utilisateur actuel tente d'exécuter ). J'avais changé tous mes fichiers Laravel pour qu'ils appartiennent à www-data:www-data et fais de mon utilisateur actuel un membre du groupe www-data, et j'étais donc un peu dérouté par cette erreur.

Cependant, je me suis vite rendu compte que mon fichier .env avait les autorisations suivantes:

-rw-r--r--

... signifiant que l'utilisateur qui possède le fichier est lu, écrit, mais que le groupe et le monde ne peuvent que lire. Étant donné que mon utilisateur actuel est membre du groupe group www-data, il ne peut que lire, pas écrire.

(Vous pouvez vérifier les permissions de votre fichier en faisant $ ls -la)

Si vous avez la même situation, vous avez deux choix; desserrez les autorisations de fichier sur ce fichier (avec chmod) ou utilisez Sudo pour exécuter vos commandes php artisan. J'ai choisi ce dernier, car il s'agit d'un serveur de production pour moi et j'aime les autorisations restreintes.

1
jeff-h