Ошибка при записи в Excel файл

sound

Новичок
Задача сделать полную копию Excel файла на сервере и сохранить его на локальный комп пользователя.

То есть будет сохраненная форма в Excel на серевере, она будет динамически заполнять новый Excel файл, писать туда сгенерированые в PHP данные, после чего пользователь сможет сохранить уже заполенную Excel форму себе на комп.

Сейчас я делаю просто копирование содержания Excel файла на сервере в файл который предлагается сохранить пользователю

Код:
<?php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
ini_set("memory_limit", "332M");
date_default_timezone_set('Europe/Moscow');

writeExelFile("local_file.xls");

function writeExelFile($filename) {
    require_once "PHPExcel.php"; // подключаем фреймворк
    $xls = 'file_na_servere.xls';
    $pExcel = PHPExcel_IOFactory::load($xls); //создаем рабочий объект
    $pExcel->setActiveSheetIndex(0); // устанавливаем номер рабочего документа
    $aSheet = $pExcel->getActiveSheet(); // получаем объект рабочего документа

    $objWriter = new PHPExcel_Writer_Excel5($pExcel); // создаем объект для записи excel в файл
    header('Content-Type: application/vnd.ms-excel'); // посылаем браузеру нужные заголовки для сохранения файла
    header('Content-Disposition: attachment;filename="' . $filename . '"');
    header('Cache-Control: max-age=0');
    $objWriter->save('php://output');
}

?>
Этот код отлично работает на локальном тестовом PHP серевере на Windows 7
НО сохраняет какую то ерунду в локальный Exсel файл если разместить код на рабочем Lunix сервере под Centos 6.5

В локальном Exсel файле кроме белиберды сохраняеться такая ошибка

Warning: realpath(): open_basedir restriction in effect. File(/tmp) is not within the allowed path(s): (/var/www/user/data:.) in /var/www/user/data/www/domen.net/PHPExcel/Shared/File.php on line 175

в браузере никаких ошибок не выводиться, только в самом Exсel файле

что делать подскажите уже неделю бьюсь, все перепробовал, не могу понять что ему вообще надо ?
 

sound

Новичок
В php.ini и на локальном сервере и на удаленном параметр open_basedir закомментирован, то есть получается настройки ничем не отличаются
В чем же тогда проблема подскажите плз?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
sound, не верю я в такие вещи. Скорей всего не тот php.ini смотришь. Кто сервер настраивал?
 

sound

Новичок
Я сам настраивал, там стоит все через ISP manager
PHP и БД это я про удаленный сервер на CentOS

на локальном компе тоже я все ставил из дистрибутивов не денвер

поиск на удаленном сервере делал нашел только один php.ini
и в нем open_basedir закомментирован
 

sound

Новичок
[root@CentOSISPLite ~]# find /* -iname 'php.ini'
/etc/php.ini

вот все php.ini которые есть на сервере
 

sound

Новичок
WMix, что это и куда писать?
я бы не хотел отключать
open_basedir безопасность тоже важна

просто для одного сайта хочу сделать выгрузку excel файла
 

WMix

герр M:)ller
Партнер клуба
не важно, мысли вслух. прочти сначала топик, прочти тут, отвлекись подумай. и думаю все сам сообразишь
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Хрен знает, в мыслях только .htaccess...

Правда вообще не понимаю зачем включать это на своем серваке.
 

WMix

герр M:)ller
Партнер клуба
$objWriter->save('php://output');
просто записать нормально перед тем как выплюнуть наружу!
 

sound

Новичок
c0dex, блокировка идет как то в .htaccess а что искать какое слово
open_basedir там ? ISP вполне может что то и там делать

WMix, А как нормально записать ? можно пример ?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба

sound

Новичок
c0dex, последняя ссылка помогла спасибо!

вставил в настройках домена через ISP

php_admin_value open_basedir ":/"

оцените как это по безопастности чем грозит ?
сервак весь мой, все сайты мои, но к примеру если хакеры взломают сайт где
php_admin_value open_basedir ":/"

то они получат доступ ко всем папкам других сайтов или как ?

может можно как то вместо того что я написал написать что то по другому чтобы работало и безопасно было ?
 
Сверху