Время выполнения хранимой процедуры

alena555

Новичок
Добрый день.
Вопрос человека далекого от php,но которому нужно разобраться. Ситуация такая:
средствами php запускается хранимая процедура с параметрами,в которой далее запускается тот или иной пакет DTS
пакет DTS заполняет dbf файл
далее этот файл уже средствами php зипует файл и дает его скачать.
Все отлично работало почти 4 года,пока объем данных значительно не вырос.Сейчас при попытке выполнения хранимой процедуры через где-то примерно 2 минуты страница отваливается,якобы с ошибкой.Но дтс пакет продолжает работать и заполнять dbf файл.Сам скл пакет отрабатывает примерно 5 минут.Он рабочий,все проверено,процедура тоже рабочая.
PHP:
if ($sql->query($qwr)) {//запуск процедуры
      $zip_cmd='zip -j -m dts/'.$filename.' dts/'.$filename.'.dbf';
      exec($zip_cmd);
      header('Location: '.$load_path);
    } else {die ('Ошибка выполнения пакета '.$qwr);} //вот эту ошибку  и выводит
    // else {die ('Error '.mssql_get_last_message());}// пробовала это ничего не возвращает,поскольку скл ошибки нет
Время жизни сессии по умолчанию 1440секунд
уже увеличивала время в php.ini для mssql не помогло.Уже и не знаю гд копать,какое время надо увеличить,
чтоб все работало.Мож у ккого какие сысли возникнуть,прошу поделиться.

php.ini
[MSSQL]
; Allow or prevent persistent links.
mssql.allow_persistent = On

; Maximum number of persistent links. -1 means no limit.
mssql.max_persistent = -1

; Maximum number of links (persistent+non persistent). -1 means no limit.
mssql.max_links = -1

; Minimum error severity to display.
mssql.min_error_severity = 10

; Minimum message severity to display.
mssql.min_message_severity = 10

; Compatability mode with old versions of PHP 3.0.
mssql.compatability_mode = Off

; Connec timeout
;mssql.connect_timeout = 40

; Query timeout
;mssql.timeout = 600

; Valid range 0 - 2147483647. Default = 4096.
mssql.textlimit = 4096000

; Valid range 0 - 2147483647. Default = 4096.
mssql.textsize = 4096000

; Limits the number of records in each batch. 0 = all records in one batch.
;mssql.batchsize = 0

; Specify how datetime and datetim4 columns are returned
; On => Returns data converted to SQL server settings
; Off => Returns values as YYYY-MM-DD hh:mm:ss
;mssql.datetimeconvert = On

; Use NT authentication when connecting to the server
mssql.secure_connection = Off

; Specify max number of processes. Default = 25
;mssql.max_procs = 25
 

prolis

Новичок
я бы порекомендовал прекратить мучить веб-сервер, проблема не на его стороне
я такие штуки решал уже на клиентской стороне:
1.Запуск скрипта и перенаправление на страницу ожидания
2.Раз в n-цать секунд на странице ожидания идет проверка факта окончания работы процедуры
3.Если все готово - перенаправление на страницу для скачивания результата
 

alena555

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

prolis

Новичок
PHP:
<?
$filename = '/path/'.$_GET['filename'];
if (file_exists($filename)) {
    echo 1;
} else {
    echo 0;
}
?>
обращаясь к этому файлику из яваскрипта как 'site.ru/script.php?filename=бла-бла-бла' проверяем что возвращает скрипт (ждем "1")
 
Сверху