I am using PHPOffice for exporting excel in laravel it work fine on localhost but it gives me internal server error on live server error?
public function export(Request $request){
$branchId = $this->decryption($request->branch_id);
$data = Reservation::select("id", "name", "contact","start_time","end_time","target_date",'weekdays')->with('pages',function($query){
$query->select('pages.id','name');
})->when($request->has('start_date'),function($query) use ($request){
$query->where('target_date','>=',$request->start_date);
})->when($request->has('end_date'),function($q) use ($request){
$q->where('target_date','<=',$request->end_date);
})
->where('branch_id',$branchId)->get();
$data_array [] = array("name","contact","target_date","start_time","end_time","weekdays","page");
foreach($data as $data_item)
{
$data_array[] = array(
'name' =>$data_item->name,
'contact' => $data_item->contact,
'target_date' => $data_item->target_date,
'start_time' => $data_item->start_time,
'end_time' => $data_item->end_time,
'weekdays' => implode($data_item->weekdays),
'page' =>$data_item['pages'][0]['name']
);
}
$this->ExportExcel($data_array);
}
This funciton is used to export data which we have got from export function
public function ExportExcel($customer_data){
ini_set('max_execution_time', 0);
ini_set('memory_limit', '4000M');
try {
$spreadSheet = new Spreadsheet();
$spreadSheet->getActiveSheet()->getDefaultColumnDimension()->setWidth(20);
$spreadSheet->getActiveSheet()->fromArray($customer_data, NULL, 'A1');
$Excel_writer = new Xls($spreadSheet);
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="Customer_ExportedData.xls"');
header('Cache-Control: max-age=0');
ob_end_clean();
$Excel_writer->save('php://output');
exit();
} catch (Exception $e) {
return $e;
}
}`
This is what i am getting error at the end in respose
status code :502
{
"message": "Internal server error"
}