На локальном окружении генерация документа проходит нормально. На боевом сервере, после генерации документа, пытаюсь его открыть в Excel. Выскакивает предупреждение "Формат файла 'example.xsl' не соответствует разрешению файла. Возможно файл повреждён или небезопасен. Открыть файл?" После того как он открывается, получается внутри такое содержимое:
кликабельно
Насколько я понял, при генерации происходит ошибка:
Warning: realpath() [function.realpath]: open_basedir restriction in effect. File(/tmp) is not within the allowed path(s): (/var/www/ekker/data:.) in
Пробовал гуглить, но не могу найти решения. Советуют отключить open_basedir. Однако в целях безопасности, делать этого не хочется. Есть ли другой вариант решения проблемы?
Содержимое файла, который генерирует документ
<?php
require_once 'src/vendor/PHPExcel/PHPExcel.php';
require_once 'src/vendor/PHPExcel/PHPExcel/Writer/Excel5.php';
date_default_timezone_set('Asia/Vladivostok');
$xls = new PHPExcel();
$rows = 15;
$xls->setActiveSheetIndex(0);
$sheet = $xls->getActiveSheet();
$sheet->setTitle('Consulting');
$filename = "result.xls";
header ( "Last-Modified: " . gmdate("D,d M YH:i:s") . " GMT" );
header ( "Cache-Control: no-cache, must-revalidate" );
header ( "Pragma: no-cache" );
header ( "Content-type: application/vnd.ms-excel;" );
header ( "Content-Disposition: attachment; filename=" . $filename );
$objWriter = new PHPExcel_Writer_Excel5($xls);
$objWriter->save('php://output');