tj_lamelo
a posé

Problème d'Upload de fichier en Production

**Bonsoir les dev’s j’ai un soucis. **

En local j’arrive à upload des fichiers et les enregistrer dans mon dossier public/storage/photo mais en production l’image n’est pas sauvegardée.

Je suis sur Cpanel

darwin_nathan
a répondu

Essaie de montrer ton code d'upload d'images pas en images pls

jiordiviera
a répondu

Avec des captures d'écrans

tj_lamelo
a répondu

if ($request->hasFile('photo')) {

$photoPath = $request->file('photo')->store('photos', 'public');
 
 
$depot->photo = basename($photoPath);
$depot->save();
}
tncs
tncs 70 XP
a répondu

Verifie les droits de ton dossier public et si il ne sont pas correct tu donnes lui donne le droit d'ecriture tu peux le faire depuis le terminal avec la commande chmod chmod -R 775 public/storage ou depuis l'interface. et verifie le lien symblolique du dossier storage si il est bon dans le cas contraire tu le supprime et il faut faire un php artisan storage:link depuis le terminal.

tj_lamelo
a répondu

ma formule Cpanel ne dispose pas d'accès SSH et le site est déjà en production comment faire?

darwin_nathan
a répondu

Sur Cpanel y'a un terminal, losrque tu te connectes a ton compt; dans la barre de recherche tape terminal (si la langue en francais), puis tu vas naviguer vers le dossier de ton projte de ton projet, tu veux dire que tu as upload avec les dependencies (vendor)?

tncs
tncs 70 XP
a répondu

Tu n'as pas necessairement besoin de SSH. Fais une recherche sur le mot terminal depuis ton cpanel, je pense que tu devrais l'avoir. Au pire, pour les droits, tu peux passer par un logiciel FTP tel que FileZilla ou WinSCP et tu fais un clic droit sur le dossier en question pour attribuer les droits, mais après il te faut faire un PHP artisan storage:link. et n'oublie pas si le lien storage n'est pas bon tu le supprime avant de faire un php artisan storage:link. normalement la recherche globale sur le mot "terminal" dans le cpanel devrait etre Ok

darwin_nathan
a répondu

@tj_lamelo est ce que c'est bon ??

stevymarlino
a répondu

Généralement ce que moi je fais

Uploader tes fichiers laravel a la racine de ton serveur. public_html

Normalement tu dois avoir cette architecture de fichiers.

fileArch.PNG

Maintenant tu dois créer un fichier .htaccess à la racine de ton public_html

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

permet de rediriger tes requêtes dans ton dossier public de laravel

supprime le dossier storage contenu dans ton dossier public

Maintenant tu peux lancer ta commande php artisan storage:link via ton terminal. s'il n est pas activer contacte ton service client ils le font facilement

NB: si dans ton compte d'hébergement du gère plusieurs domaine dans un seul compte d'hébergement ta commande devrait normalement fonctionner now.

Donc a la place de php artisan storage:link tu tape ln -s chemin_de_storage chemin_de_public

c'est le meme cas ici https://laravel.cm/forum/hebergement-de-votre-site-laravel-en-...

stevymarlino
a répondu

@tj_lamelo si tu as trouver une autre solution merci de partager

Il faut Se connecter ou Créer un compte pour participer à cette conversation.