Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ZipArchive::close(): Failure to create temporary file in AWS EC2 Linux

I am working on cron jobs in laravel 5.2, when i try to call a controller function from schedule to create excel sheet getting Error. but runs fine in postman.

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

Problem with temp file permission for zipArchive?

I am getting above error while save phpexcel sheet to directory(777).

$excel_path = 'SubmittedSheets/'.$userId.'-'.uniqid().'.xlsx';
$objWriter->save($excel_path);
like image 728
151291 Avatar asked May 08 '17 08:05

151291


2 Answers

Need Absolute path to save excel file in AWS Ec2 Linux for PHPExcel.

$excel_path = '/var/www/html/MyProject/public/SubmittedSheets/'.$userId.'-'.uniqid().'.xlsx';
$objWriter->save($excel_path); 
like image 173
151291 Avatar answered Oct 16 '22 08:10

151291


I solved it on my Mac OS system by simply uncommenting the line

;sys_temp_dir = "/tmp"

in php.ini, i.e. changing it to

sys_temp_dir = "/tmp"

Directory where the temporary files should be placed. Defaults to the system default (see sys_get_temp_dir)

Not sure which directory it tried to use as default though, possibly /var/tmp, which my Homebrew PHP installation doesn't seem to have permission to write to.

like image 34
Magnus Avatar answered Oct 16 '22 09:10

Magnus