|
|
|
Проблема с ADODB (скрипт выполняется не до конца)
|
|||
|---|---|---|---|
|
#18+
Hi All!!! Столкнулся с проблемой: Использую ADODB для запросов к Oracle через {Microsoft ODBC for Oracle} с выводом на экран. После определеного количества запросов скрипт прекращает выполняться без каких-либо ошибок, т.е. не выполняется до конца. Собственно, сам скрипт (пример исполняющегося таким образом скрипта): $t=time(); $connection->Open(); for($i=0;$i<10000;$i++){ $query="INSERT INTO LVUSERS_TEMP (computer, muser, memail, mreg, ruser, remail, rreg) VALUES ('".$i."','".($i-100)."','".$i."','1','".$i."','".$i."','1')"; echo $i."-".(time()-$t)." "; if ($connection->Execute($query) === false) { print 'error inserting: '.$connection->ErrorMsg().'<BR>';} } echo "<br>Time : <b>".(time()-$t)."</b><br>"; Происходит где-то 5800 выполнений, затем все останавливается без каких-либо объяснений. Помогите разобраться, пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2005, 13:41 |
|
||
|
Проблема с ADODB (скрипт выполняется не до конца)
|
|||
|---|---|---|---|
|
#18+
Включите отображение ошибок PHP FAQ: Ничего не работает! Что делать??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2005, 13:42 |
|
||
|
Проблема с ADODB (скрипт выполняется не до конца)
|
|||
|---|---|---|---|
|
#18+
Включил отображение ошибок - никакого эффекта. Как будто ошибок нет, однако же... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2005, 14:00 |
|
||
|
Проблема с ADODB (скрипт выполняется не до конца)
|
|||
|---|---|---|---|
|
#18+
RepManagerВключил отображение ошибок - никакого эффекта. Как будто ошибок нет, однако же... Ошибка по-любому должна появиться, просто так скрипт не может взять и перестать работать. Чему равно max_execution_time? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2005, 14:16 |
|
||
|
Проблема с ADODB (скрипт выполняется не до конца)
|
|||
|---|---|---|---|
|
#18+
В том то и дело - нет никаких ошибок (оказывается, иногда это плохо :( ). ini_set("max_execution_time","10000"); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2005, 16:10 |
|
||
|
Проблема с ADODB (скрипт выполняется не до конца)
|
|||
|---|---|---|---|
|
#18+
давай так, ты напишешь полностью скрипт, который ты запустил со всеми ini_set, а потом напишешь то, что отображается в брузере.. Середину текстовки в брузере - пропусти.. толшько начало и конец содержимого результирующей страницы. Делай Ctrl+C, Ctrl+V и все.. ничего не дописывай и не меняй. Для полной уверенности проаштемелспешалчарз те данные, что ты инсертишь... ---------------------------------------- Артисты не приехали, приехали цыгане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2005, 16:47 |
|
||
|
Проблема с ADODB (скрипт выполняется не до конца)
|
|||
|---|---|---|---|
|
#18+
ОК. Похоже проблема в посылаемом браузером параметре keep-alive: 300. Вопрос сводится к : как изменить этот параметр через php? P.S. На всякий случай: cкрипт полностью <? include("dbaccess.php"); ini_set("max_execution_time","10000"); ini_set('display_errors','On'); error_reporting(E_ALL); $t=time(); $connection->Open(); for($i=0;$i<10000;$i++){ $query="INSERT INTO TABLE (computer, muser, memail, mreg, ruser, remail, rreg) VALUES ('".$i."','".($i-100)."','".$i."','1','".$i."','".$i."','1')"; echo $i."-".(time()-$t)." "; if ($connection->Execute($query) === false) { print 'error inserting: '.$connection->ErrorMsg().'<BR>';} } echo "<br>Time : <b>".(time()-$t)."</b><br>"; ?> Вывод: 0-0 1-1 ... 5357-281 5358-2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2005, 17:39 |
|
||
|
Проблема с ADODB (скрипт выполняется не до конца)
|
|||
|---|---|---|---|
|
#18+
output_buffering = Off и в цикле периодически вызывать flush() . попробуй так... ---------------------------------------- Артисты не приехали, приехали цыгане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2005, 18:02 |
|
||
|
Проблема с ADODB (скрипт выполняется не до конца)
|
|||
|---|---|---|---|
|
#18+
flush не помогает :( Похоже все дело действительно в keep-alive: 300 , т.е. ,браузер ждет 300 секунд и отрубает соединение. Как изменить этот параметр? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2005, 18:49 |
|
||
|
Проблема с ADODB (скрипт выполняется не до конца)
|
|||
|---|---|---|---|
|
#18+
а есть возможность выполнить этот скрипт из шелла ? Просто такие длинные скрипты не принято запускать под апачем. Возможно просто хостер запретил такие скрипты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2005, 21:20 |
|
||
|
Проблема с ADODB (скрипт выполняется не до конца)
|
|||
|---|---|---|---|
|
#18+
Невнимательно прочел, у тебя Windows. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2005, 21:21 |
|
||
|
Проблема с ADODB (скрипт выполняется не до конца)
|
|||
|---|---|---|---|
|
#18+
http://php.net/features.connection-handling ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2005, 21:51 |
|
||
|
Проблема с ADODB (скрипт выполняется не до конца)
|
|||
|---|---|---|---|
|
#18+
RepManagerflush не помогает :( Похоже все дело действительно в keep-alive: 300 , т.е. ,браузер ждет 300 секунд и отрубает соединение. Как изменить этот параметр? напиши скрипт, который бы сделал ХТТП-запрос к твоему скрипту без заголовка Keep-Alive и сделай запрос. Если скрипт отрубится после 5800-ой записи, то дело в другом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2005, 22:49 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=32971710&tid=1478579]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
148ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 457ms |

| 0 / 0 |
