Bonjour,
j'ai une erreur 500 failed to open stream: No such file or directory dans le dossier storage de laravel pour export un exel, je suis sous windows avec cmder je n'arrive pas a modifier les droit avec chmod.

des idées ?

5 réponses


Comment tu lances ton export? Avec une commande? Avec un lien dans le site?
Tu peux envoyer le code du ficher qui s'occupe de l'export?

Elensars
Auteur

Salut, l'export ce lance avec un lien api, c'est un package d'un collègue de boulot je peux pas partager le code mais sa method fait 100 lignes method store du controller (il m'a dit que L’export est réalisé via le système de job de Laravel.)

Okay, à l'aveugle ce sera compliqué :/
Une methode de 100lignes? Faudra faire un petit coup de clean code :p

Alors déjà coment il essaye d'acceder au storage? Il utilise storage_path() ou Storage::disk('private-locale')?
Il faut utiliser Storage::disk pour que ça fonctionne

Ensuite si ton collegue utilise des jobs, installes Laravel Horizon, retentes ton export, ça va planter, tu devrait avoir une trace détaillée

Après... dernière solution serait de carrement changer de methode de stockage pour les export et de passer par S3 (AWS ou GCP)

Par contre si la méthode fait 100 lignes, c'est que c'est une méthode qui fait beaucoup de chose, à défaut de voir le code, ça aiderait de me décrire en gros ce que fait la méthode étape par étape (il fait bcp de chose avant d'exporter)

Bonsoir.

je n'arrive pas a modifier les droit avec chmod.

Je ne vois pas le rapport avec ton message d'erreur, car celui-ci ne fait aucun lien avec un problème de droit, ou alors tu devrais penser à nous donner le message d'erreur dans sa quasi totalité (quitte à masquer des infos sensibles s'il y en a).

Elensars
Auteur

Bonjour,

  • Oui j'arrive pas tout comprend mais ca method controlle / recupère des données / les modifies / controlle encore / ajout en base / export et retourne une ressource.
  • Il instanscie sa classe avec un fichier config qui est en réalité un tableau [Controller,models,ressource]
  • Du coup on ce retrouve avec un (new $exportClass)->method

Mmmmh le packet à l'air bon, en tout cas il est régulièrement à jour
Pour l'export, il a bien placé Maatwebsite\Excel\Concerns\Exportable dans le exportClass?

Okay alors maintenant avec les étapes du controller, faudrait qu'il debug et qu'il te dise à quelle étape il tombe sur l'erreur no such file, au moment où il récupère les données? Ou après avoir retourné la resource?

Et il utilise quoi pour récupérer la resource retournée?