2017-05-08 1 views
1

Je travaille sur des tâches cron dans laravel 5.2, lorsque j'essaie d'appeler une fonction de contrôleur du programme pour créer une feuille excel obtenant une erreur. mais fonctionne bien chez le facteur.ZipArchive :: close(): Echec de création de fichier temporaire dans AWS EC2 Linux

ZipArchive::close(): Failure to create temporary: No such file or directory' in /var/www/html/Expenses/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007.php:398

Problème avec l'autorisation de fichier temporaire pour zipArchive?

Je reçois une erreur ci-dessus tout en sauvegardant la feuille phpexcel dans le répertoire (777).

$excel_path = 'SubmittedSheets/'.$userId.'-'.uniqid().'.xlsx'; 
$objWriter->save($excel_path); 
+0

Le dossier que vous avez configuré en tant que dossier temporaire pour PHP existe-t-il réellement? Si oui, votre script y at-il accès? (Rappelez-vous qu'un travail cron peut être exécuté en tant qu'utilisateur différent d'un accès Web) –

+0

https://laracasts.com/discuss/channels/servers/ziparchiveclose-failure-to-create-temporary-file-no-such-file -or-directory – hassan

+0

@hassan - J'ai vu cette solution mais pas claire. S'il vous plaît expliquer si vous le savez. – 151291

Répondre

1

Besoin d'un chemin absolu pour enregistrer le fichier Excel dans AWS Ec2 Linux pour PHPExcel.

$excel_path = '/var/www/html/MyProject/public/SubmittedSheets/'.$userId.'-'.uniqid().'.xlsx'; 
$objWriter->save($excel_path); 
+0

J'ai la même erreur mais la solution ne fonctionne pas :(, même j'ai utilisé - $ objWriter-> enregistrer ('/ var/www/yebesis/public_html/fichiers/caglar.orhan/test.xlsx'); – caglaror

+1

@caglaror - Cela se produit également en raison de l'espace disque insuffisant, vérifiez votre espace disponible sur AWS, appuyez sur 'df -h' et' du -sh', veuillez me le faire savoir aussi – 151291

+0

Non, il y a beaucoup d'espace :( – caglaror