PHPExcel Ошибка на новом сервере - PullRequest
1 голос
/ 21 мая 2011

Просто перенес мою установку на новый сервер. У меня проблемы с отладкой, насколько мне известно, все разрешения по-прежнему идентичны или открыты БОЛЬШЕ, чем мой старый сервер для папок, в которых сервер создает / читает файлы ...

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

Предупреждение: tempnam () [function.tempnam]: действует ограничение open_basedir. File () находится за пределами разрешенного пути: (/: / usr / lib / php: / usr / local / lib / php: / tmp) в / home / myacnt / public_html / users / internal / PHPExcel / Writer /Excel5/Worksheet.php в строке 346

Предупреждение: fopen () [function.fopen]: имя файла не может быть пустым в /home/myacnt/public_html/users/internal/PHPExcel/Writer/Excel5/Worksheet.php в строке 347

Предупреждение: tempnam () [function.tempnam]: действует ограничение open_basedir. File () находится за пределами разрешенного пути: (/: / usr / lib / php: / usr / local / lib / php: / tmp) в / home / myacnt / public_html / users / internal / PHPExcel / Writer /Excel5/Worksheet.php в строке 346

Предупреждение: fopen () [function.fopen]: имя файла не может быть пустым в /home/myacnt/public_html/users/internal/PHPExcel/Writer/Excel5/Worksheet.php в строке 347

Предупреждение: tempnam () [function.tempnam]: действует ограничение open_basedir. File () находится за пределами разрешенного пути: (/: / usr / lib / php: / usr / local / lib / php: / tmp) в / home / myacnt / public_html / users / internal / PHPExcel / Writer /Excel5/Worksheet.php в строке 346

Предупреждение: fopen () [function.fopen]: имя файла не может быть пустым в /home/myacnt/public_html/users/internal/PHPExcel/Writer/Excel5/Worksheet.php в строке 347

Предупреждение: tempnam () [function.tempnam]: действует ограничение open_basedir. File () находится за пределами разрешенного пути: (/: / usr / lib / php: / usr / local / lib / php: / tmp) в / home / myacnt / public_html / users / internal / PHPExcel / Shared /OLE/OLE_File.php в строке 95

Предупреждение: fopen () [function.fopen]: имя файла не может быть пустым в /home/myacnt/public_html/users/internal/PHPExcel/Shared/OLE/OLE_File.php в строке 96

Неустранимая ошибка: необработанное исключение «Исключение» с сообщением «Не удается создать временный файл» в /home/myacnt/public_html/users/internal/PHPExcel/Shared/OLE/OLE_File.php:98 Трассировка стека: # 0 / home / myacnt / public_html / users / internal / PHPExcel / Writer / Excel5.php (190): PHPExcel_Shared_OLE_PPS_File-> init () # 1 /home/myacnt/public_html/users/functions/export.php(58): PHPExcel_Writer_Excel5> save ('/ home / myacnt / ...') # 2 /home/myacnt/public_html/users/manager/functions/export.php(196): multiCSVToExcel (Array, '1305481112_Nick ...') # 3 / home /myacnt/public_html/users/manager/viewInvoice.php(13): exportInvoiceLog (Array) # 4 {main} добавляется в /home/myacnt/public_html/users/internal/PHPExcel/Shared/OLE/OLE_File.php в строке 98

Ответы [ 2 ]

2 голосов
/ 05 июня 2012

Это исправление сработало для меня:

http://phpexcel.codeplex.com/workitem/17840

Изменения должны быть применены к Shared / File.php

2 голосов
/ 21 мая 2011

Вы имеете дело с ограничением, называемым open_basedir , как указано в вашем сообщении об ошибке. Вы должны либо проверить значение в php.ini (вы можете использовать phpinfo() для быстрой проверки) и поместить файлы в указанный каталог, либо изменить значение, либо просто полностью отключить его. Если вы отключите его, вам нужно будет убедиться в том, что вы выполняете проверку работоспособности имен файлов, например, используете basename для удаления потенциального обхода "../../".

...