web-dev-qa-db-fra.com

Laravel 5 show ErrorException échec de l'ouverture du flux de fichiers: aucun fichier ni répertoire de ce type

J'ai un projet sur Laravel 5 et je le travaille aussi bien au bureau qu'à la maison. Cela fonctionne bien, mais récemment, à la maison, il a cessé de fonctionner. Laravel me montre deux ErrorException 

file_put_contents(G:\project\storage\framework\views/751d8a0fd8a7d4138c09ceb6a34bb377aa2d6265.php):
failed to open stream: No such file or directory

et 

file_put_contents(G:\project\storage\framework/sessions/aIXycR4LIAUBVIqZu0T590paOMIpV8vfZGIroEp0):
failed to open stream: No such file or directory

Je cherche un problème avec Google et trouve des informations sur les droits appropriés. Tous les conseils concernent Linux, mais je travaille aussi sous Windows au bureau et à la maison.

Lorsque j'essaie de vider le cache d'applications et d'afficher le cache, un artisan me parle - Mais les données en cache et les vues sont présentes dans le stockage.

Comment puis-je résoudre ce problème?

Merci d'avance!

15
Evgeniy

Après quelques recherches, je comprends - j'ai des emplacements de projet racine très similaires, mais différents, et sa mise en cache dans /bootstrap/cache. Après le démarrage du projet de nettoyage de la mémoire cache. 

23
Evgeniy

Le meilleur moyen de résoudre ce problème est d'aller dans le répertoire "laravel/bootstrap/cache" et de supprimer le fichier config.php. ou vous pouvez aussi le renommer comme ceci: config.php.old Et votre problème sera résolu . Bon codage :-)

39
Amit Verma

Vous devez généralement exécuter la commande php artisan config:cache dans le cadre de votre routine de déploiement de production. Je vous suggère

  1. Supprimer le fichier de cache de configuration
  2. Vider le cache de l'application
  3. Créer un fichier cache pour un chargement de configuration plus rapide

Pour ce faire, exécutez les commandes Artisan suivantes sur votre ligne de commande.

  1. php artisan config:clear 
  2. php artisan cache:clear
  3. php artisan config:cache

Si vous n'avez pas accès à la ligne de commande sur votre serveur, vous pouvez exécuter des commandes par programmation en ajoutant les éléments suivants à vos itinéraires:

Route::get('/clear-cache', function() {
    $exitCode = Artisan::call('config:clear');
    $exitCode = Artisan::call('cache:clear');
    $exitCode = Artisan::call('config:cache');
    return 'DONE'; //Return anything
});

Et appelez ensuite la route clear-cache à partir de votre navigateur.

J'espère que ceci est utile.

19
Elisha Senoo

Ce type de problème se produit généralement lors de la migration d'un serveur vers un autre, d'un dossier vers un autre. Laravel conserve le cache et la configuration (nom du fichier) lorsque le dossier est différent, ce problème se produit.

Commande Exécuter la solution suivante: 

php artisan config:cache

https://laravel.com/docs/5.6/configuration#configuration-caching

4
Bijaya Kumar Oli

En cas d'hébergement partagé sans accès en ligne de commande, accédez simplement au dossier laravel/bootstrap/cache et supprimez (ou renommez) config.php et vous avez terminé!

0
Dibyendu Mitra Roy

Essayez avec ces commandes qui ont été utiles avec ces erreurs

chemin\projet\stockage\cadre\vues ...

php artisan view:clear

chemin\projet\stockage\framework/sessions ...

php artisan config:cache
0
Carlos Avalos

La raison de ce problème est les fichiers de cache dans localhost. Selon cela, j'ai essayé plusieurs choses comme suit pour vider le cache de mon projet, mais à chaque fois j'ai échoué.

  • Essayé d'effacer les commandes de cahe en changeant le fichier web.php
  • J'ai essayé de vider le cache en connectant SSH (via PuTTY)
  • J'ai essayé d'héberger mon projet dans le sous-domaine dans un nouveau répertoire Public

J'ai donc trouvé une solution à ce problème après l'échec de chacune des étapes ci-dessus et cela a parfaitement fonctionné pour moi. J'ai supprimé le fichier cache.php dans le répertoire Host_route/bootstrap/cache

Je pense que cette réponse aidera votre problème.

0
Roshan Aravinda

Peut-être qu'il y a un problème avec votre fichier composer. Tu pourrais essayer:

  • composer install installe les packages du fournisseur conformément à composer.lock (ou crée composer.lock s'il n'est pas présent), 
  • composer update régénère toujours composer.lock et installe les dernières versions des paquetages disponibles basés sur composer.json

  • composer dump-autoload ne téléchargera rien. Il ne fait que régénérer La liste de toutes les classes devant être incluses dans le projet (autoload_classmap.php). Idéal pour quand vous avez une nouvelle classe dans votre projet. Idéalement, vous exécutez composer dump-autoload -o, pour un chargement plus rapide de vos pages Web. La seule raison pour laquelle ce n'est pas par défaut, c'est parce que cela prend un peu plus de temps à générer (mais ce n'est que légèrement perceptible)

la source

0
Rachael MacKeigan