J'ai déployé laravel app sur l'hébergement partagé dans le dossier public_html/app. Voici tout ce qui se trouve dans le dossier public. Dans /../../files, il me reste des fichiers. Quand je fais du stockage php artisan : lien dans le dossier de fichiers de ma console
[ErrorException]
symlink(): No such file or directory
Sur localhost, je télécharge des fichiers dans un dossier de stockage/uploads. Que faire maintenant? J'ai essayé de changer de lien mais rien ne fonctionne pour moi ...
Aller à /public
répertoire et exécutez:
rm storage
Allez dans le répertoire racine Laravel) et exécutez:
php artisan storage:link
Edité le 1er mai 2018
Ce problème survient lorsque laravel le projet est déplacé/copié dans un autre dossier.
Le lien de stockage est toujours présent, ce qui provoque l'erreur d'exception. Le dossier public/storage existe et pointe vers un emplacement incorrect. Il doit être supprimé avec rm storage
commande.
Après cette course php artisan storage:link
in terminal et il créera le lien de stockage.
Cela doit être fait CHAQUE fois où laravel est déplacé/copié/déployé!
Cela se produit généralement après le déplacement de Laravel app dans un autre répertoire
Le répertoire de stockage actuel est "/ NomApp/storage/app/public /"
Laravel crée un lien symbolique pointant vers le répertoire de stockage actuel "/ NomApp/public/stockage"
Autre sens
"/ AppName/public/storage" pointe sur => "/ AppName/storage/app/public /"
En changeant le répertoire racine de l'application en "/ AnotherAppName /", le lien symbolique continuera de pointer vers l'ancien chemin
"/ AnotherAppName/public/storage" => "/ NomApp/storage/app/public /"
ma solution est de mettre à jour manuellement le lien symbolique en utilisant
ln -sfn /AnotherAppName/storage/app/public/ /AnotherAppName/public/storage
Je suis face à la même erreur lorsque l’utilisation d’hébergement de partage et mon répertoire public sont déplacés vers public_html ou un répertoire différent, comme par exemple: répertoire du projet dans le nom de la racine "project" et répertoire public dans le nom de la racine "public_html"
lorsqu’il est exécuté par Artisan :: call ('storage: link'); alors face à cette erreur.
Solution: 1er besoin de lier votre répertoire public dans la méthode de registre app/Providers/AppServiceProvider
$this->app->bind('path.public', function() {
return base_path('../public_html');
});
Maintenant, lancez la commande pour qu'elle fonctionne correctement
J'utilisais Vagrant et j'avais le même problème. J'ai enlevé le répertoire de stockage dans public/storage
mais n'a pas pu résoudre le problème lors de l'utilisation de la commande php artisan storage:link
.
Par conséquent, je me suis connecté avec ssh à ma boîte de courrier errant et ai exécuté la commande là. Cela a fonctionné, donc si vous utilisez Vagrant et rencontrez le même problème, cela pourrait vous aider.
essayez de supprimer le lien symbolique de stockage existant, puis essayez php artisan storage: link command