Игорь_Vasinsky
23.05.2012 - 22:41
Файл
http://hdkinozavr.ru/temp/reader.txt - форум не хавает листинг.
вообщем обрабатываю файл XLS 2,1мб 17к строк.
на локалхосте PHP 5.3 - работает на ура.
хостинг sweb.ru
php 5.2
вообщем файл проходит метод setOutputEncoding()
и валиться на методе read($file)
тупо белая страница (ошибки не прячу)
файлы до 1мб грузятся, с этим беда. хз. отладил всё на локалке - на хостинге борода.
может ini_set какой нить.
не понимаю блин.
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
walerus
23.05.2012 - 23:51
ini_set( 'upload_max_filesize', '100M' );
ini_set( 'post_max_size', '101M' );
попробуй, сервер Nginx ?, мб отрывает коннект, не дождавшись загрузки.... ?
Игорь_Vasinsky
23.05.2012 - 23:57
точно также прошло. снова чисто белая страница. файл грузиться в папку, именно на методе read() валиться всё.
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
walerus
24.05.2012 - 00:01
а оно вообще доходит до read()?, внутри пробовал эхо какое ниить повесить?, и про сервер ты не ответил.
p.s. И раз на локале работает, то значит что то с сервером, либо нжинкс не дожидается, либо чего то там не хватает скрипту, пробуй еще по навешать всяких выводом на экран чего нибудь, что бы буфер заполнялся...
Игорь_Vasinsky
24.05.2012 - 00:20
про ngnix хз где глянуть
вот:
<?php
error_reporting(E_ALL);
require_once $_SERVER['DOCUMENT_ROOT'].'/lib/xlstophp/Excel/reader.php';
set_time_limit(0);
echo '1<br />';
$data = '';
file_put_contents('uploads/temp.txt', '');
chmod('uploads', 0777);
chmod('uploads/temp.txt', 0777);
echo '2<br />';
$data = new Spreadsheet_Excel_Reader();
echo '3<br />';
$data->setOutputEncoding('UTF-8');
echo '4<br />';
echo $_SERVER['DOCUMENT_ROOT']."/uploads/".$newfile;
$data->read($_SERVER['DOCUMENT_ROOT']."/uploads/".$newfile);
echo '5<br />';
5 - я уже не вижу.
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
walerus
24.05.2012 - 00:30
а откуда берется
$newfile, я чего т не замечаю/не понимаю
Игорь_Vasinsky
24.05.2012 - 00:38
это начало файла xlsto
php.
php $newfile - сформировывается новое имя, с этим именем фацл сначала копируется в директорию uploads
потом создаётся temp.txt
потом инициализация объекта класса
$data = new Spreadsheet_Excel_Reader();
далее устанавливается кодировка выходных данных
$data->setOutputEncoding('UTF-8');
потом чтение самого XLS файла (он есть уже и в классе предусмотрен вывод ошибки в случае битого файла)
тут я мониторю положение файла чтобы убедиться что он лежит там где должен и имеет соответств. имя
echo $_SERVER['DOCUMENT_ROOT']."/uploads/".$newfile;
$data->read($_SERVER['DOCUMENT_ROOT']."/uploads/".$newfile);
вот после этого я должен получить массив, но скрипт останавливается.
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
walerus
24.05.2012 - 00:51
Попробуй все таки по добавлять echo "1..3..5"; в саму функцию read(), что бы было понятно, после чего именно - обрыв, оно же там дальше переходит в _parse()..., может в парсере затык, хотя опять же - на локале все норм., подозрение все же на nginx, сделай файл, типа
<?php
for( $i = 0; $i <= 180; $i++ )
{
sleep(1);
echo $i . "|\n"; flush();
}
Что бы понять что хотя бы 3ри минуты сервер держит коннект, если отрисует все цифры, попробуй тот же цикл, но без эха, а после выполнения цикла, выведи результат $i;, что бы понятно было, влияет ли наполнение буфера, на результат...
Игорь_Vasinsky
24.05.2012 - 00:59
с циклом скрипт отсчитал 180 (где то 3 мин работал).
так. значит цикл не даёт ему уснуть.
теперь, мне по логике нужно узнать сколько итераций должно пройти до конца обработки файла. как хз...
я цикл прям в метод read() пихнул. раньше 1-2 сек работал - щас все 180 отсчитал.
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
walerus
24.05.2012 - 01:10
в _parse(), есть echo, закоменченые, раскоменть, посмотришь, там по свитчу переключаются режимы, и отрисовываются, может там затыкается на чем то...
Игорь_Vasinsky
24.05.2012 - 01:35
вот что получил в ответ.
Start parse code=0 version=0 substreamType=0 MySQL server has gone away
не понял)))
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
walerus
24.05.2012 - 01:36
Проверил у себя все воркает, ты библиотеки все подключил на сервере ? "oleread.inc" или как там у тебя, у меня ругнулось еще на ссылку
$this->_ole =& new OLERead();
написал без нее
$this->_ole = new OLERead();
, результат тот же, все отработало..
walerus
24.05.2012 - 01:38
Цитата |
вот что получил в ответ. Start parse code=0 version=0 substreamType=0 MySQL server has gone away не понял))) |
Проверь, может Sql сервер унесли
Игорь_Vasinsky
24.05.2012 - 01:45
вот в каком виде ты его видешь - все не закомментированные инклуды есть.
убрал ссылку - эффекта ноль.
до 1 мб - то файлы проканывает, вот конкретно с более 2мб - нет.
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
walerus
24.05.2012 - 01:48
http://phpexcel.codeplex.com/releases/view/88098 - скачай, там куча всяких плюшек ), из xls конвертит во все что хошь ), только что нашел )
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.