powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / IIS + php + ms sql
10 сообщений из 10, страница 1 из 1
IIS + php + ms sql
    #38652787
Добрый день, уважаемые коллеги!

Прошу Вашей помощи.

Имеется связка Windows 2012 + IIS 8 + PHP 5.4.26 + MS SQL 2008.

Получаю данные из MS SQL через PHP и отрисовываю их на веб-морде. Все работает отлично, если объем данных небольшой.
Если выборка содержит большой объем данных, то страница висит около минуты, а затем выдает пусто.
Я перечитал в интернете возможные варианты решения. Я так понимаю, что срабатывает тайм-аут.

Пробовал:
1) set_time_limit(36000); перед запросом.
2) в PHP.ini:
2.1) mssql.timeout в 600 установил
2.2) memory limit в 500М
2.3) max_execution_time в 3600.

Ничего не помогает. Может люди добрые умные поможете, что мне еще нужно подкрутить, чтобы проблему понять и решить?
p.s. Странно, почему-то в этой связке не отображаются ошибки выполнения, хотя display_errors в on
...
Рейтинг: 0 / 0
IIS + php + ms sql
    #38652889
С этой проблемой разобрался. Оказалось, что данные сейчас получать можно. Но вот только напрямую. Я же получал их через ajax. Это он устраивал таймаут. Теперь вопрос как таймаут ему увеличить? Через $ajax.setOptions устанавливаю timeout.. ничего не меняется.
...
Рейтинг: 0 / 0
IIS + php + ms sql
    #38653264
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
определись таймаут чего у тебя срабатывает.
...
Рейтинг: 0 / 0
IIS + php + ms sql
    #38653332
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
готов поспорить, что таймаут обозревателя. :)

вообще не надо надеятся что пользовательский софт увеличит таймаут...

лучше уже передавать мусор для поддержания соединения.

хотя счас можно использовать вебсокеты, для поддержания соединения.

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

ещо один вариант преагрегация данных в самой базе, чтобы выборка тяжолая стала лёгкой.(яж так понимаю долгий запрос изза групировки больших обьёмов, а не изза того что человеку ты предлагаешь пересмотреть 10 млн записей на вебморде)

последнее сделал я для обработки групирующей функции на дереве. тригеры+ивент (это mysql, в mssql насколько я понимаю можно тригером менять туже таблицу где он сработал, тогда без ивента)
...
Рейтинг: 0 / 0
IIS + php + ms sql
    #38653458
Спасибо большое, за ответы.

Дело в том, что у меня php возвращает данные в формате json. Если я напрямую получаю данные из php то они в формате json отображаются за тот же период. Если я получаю данные ajaxом, то он просто тупо прерывает запрос, не сообщая ошибки. За время примерно около 2-3 минут.
Я пробовал играться с ajaxsetup и выставлял timeout 360000, но ему как-то по барабану, вот если ставишь 5000, тут он все понимает и прекрасно прерывает запрос.
В том, то и дело, что данные нужно отобразить в таблицу. Они нужны в полном объеме. когда выборка небольшая они отображаются, но вот за большой диапазон времени, увы
...
Рейтинг: 0 / 0
IIS + php + ms sql
    #38653545
Может быть задачу вообще пересмотреть.

У меня большой объем данных, которые нужно выгрузить в csv.
Выгрузка в несколько тысяч строк.
Я веб-мордой их получал. Пользователь смотрел их и нажимал кнопочку сохранить в csv.
Я так понимаю, что сразу могу из php вернуть csv. Только вопрос куда вернуть, если не в ajax запрос?
...
Рейтинг: 0 / 0
IIS + php + ms sql
    #38653580
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
content-disposition: attachment?
...
Рейтинг: 0 / 0
IIS + php + ms sql
    #38653761
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сорокин АндрейМожет быть задачу вообще пересмотреть.

У меня большой объем данных, которые нужно выгрузить в csv.
Выгрузка в несколько тысяч строк.
Я веб-мордой их получал. Пользователь смотрел их и нажимал кнопочку сохранить в csv.
Я так понимаю, что сразу могу из php вернуть csv. Только вопрос куда вернуть, если не в ajax запрос?
в iframe
:)

нащёт json - тут ты можешь играться. щитать что тебе передаёться текст - набор джейсонов
и первые для не прерывания конекта будут пустіе обьекты например.

у тебя действительно вариантов куча. иди уже какимто одним.
...
Рейтинг: 0 / 0
IIS + php + ms sql
    #38654008
alex564657498765453,
Дак в том то и дело, что не браузер рвет соединение, а ajax. Если обратиться напрямую к php он нормально возвращает данные.
А если через асинхронный ajax он прерывает запрос через пару минут.
...
Рейтинг: 0 / 0
IIS + php + ms sql
    #38654206
Сделал, схема работает очень быстро.
Итак. Создал форму, которую не видно. У формы по кнопке меняю action и передаю параметры в php.
В самом php добавил заголовок:

header('Content-type: application/vnd.ms-excel');
header("Content-Disposition: attachment; filename=table_analiz.csv");
header("Pragma: no-cache");

$buffer = $result."\r\n";
$buffer = mb_convert_encoding($buffer, "CP1251","UTF-8");//конвертируем UTF8 в CP1251
try{
echo $buffer;
}
catch(Exception $e){

}
где result это моя таблица с разделителями.
И вуаля - прекрасно работает.

Может быть кому-то пригодится. Работает очень быстро. Спасибо всем!
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / IIS + php + ms sql
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]