max excution time

SA739

Cogito, ergo sum
max excution time

доброго времени суток

столкнулся с такой проблемой:

max_execution_time =300 о чем свидетельствует phpinfo()
но в процессе тестирования кода вываливает ошибку о том что max exec time 30 sec exceeded ...

ошибка вываливалась с полдесятка раз..

ЗЫ. output_buffering = 4096 может поэтому? я видел ошибку из кэша? хотя мне странно, код выполнялся каждый раз не менее полуминуты а потом вываливал фатал ерор.

поделитесь, в чем тут заморочка?
 

Mocus

Guest
Кажется, баг самого PHP. У меня тоже выскакивала такая "фишка". Но что самое интересное - раз на раз не приходится. Тоесть я запускал на выполнение один и тот же код, и несколько раз он выводил эту строку, а несколько раз нет... Какие-то внутренние ошибки.
 

tony2001

TeaM PHPClub
CLI?
то есть в консоли?
а time_limit ты смотришь тоже в консоли?
 

SA739

Cogito, ergo sum
нет, php собран с cli
вот код на котором вывалился ерор:
PHP:
xdebug_start_profiling();
$i = 0;
	$r = mysql_query("SELECT * FROM t_data");

while ($i < 100000)
{
	mysql_fetch_row($r);
	mysql_fetch_assoc($r);
	mysql_fetch_array($r);
$i++;
}
xdebug_dump_function_profile(2);
в t_data порядка полумиллиона записей..
 

tony2001

TeaM PHPClub
>нет, php собран с cli
CLI == Command Line Interface.
это просто бинарник, который в консоли используется.
если ты в консоли скрипт запускаешь, то ты его используешь, если через веб, то он вообще тут не при чем.
 

SA739

Cogito, ergo sum
я в курсе :)
просто меня сбило с толку что ты начал про консоль спрашивать.
код запускаетсе через веб, никаких консолей :)

что-то разговор куда-то свернул в сторону.. вопрос вообщето был про макс_екзекушн_тайм и иже с ним.
 

tony2001

TeaM PHPClub
phpinfo() показать можешь?

>что-то разговор куда-то свернул в сторону..
ты сам про CLI начала говорить.
как оказалось - она тут вообще не причем.
 

SA739

Cogito, ergo sum
если ты про урл, то нет...

только копи - пэйст (:)

max_execution_time 300 300

ЗЫ. и всетаки мне интуитивно кажется , что в этом "виноват" output_bufering = 4096 , хотя с другой стороны, почему код всеравно выполнялся 30 секунд.. а только потом вываливалась ошибка.. или я не верно понимаю то, как работает буферизация вывода?
 

tony2001

TeaM PHPClub
>в этом "виноват" output_bufering = 4096
никакой связи.
совсем.
вообще.

у тебя точно в коде set_time_limit не стоит?
 

SA739

Cogito, ergo sum
однозначно, вот ВЕСЬ код:
PHP:
<?
$l = mysql_connect("localhost","","");
mysql_select_db("bill",$l);
xdebug_start_profiling();
$i = 0;
$r = mysql_query("SELECT * FROM t_data");
while ($i < 100000)
{
	mysql_fetch_row($r);
	mysql_fetch_assoc($r);
	mysql_fetch_array($r);
                $i++;
}
xdebug_dump_function_profile(2);
?>
 

tony2001

TeaM PHPClub
а если убрать профайлинг и скопировать сюда сообщение об ошибке?
 

SA739

Cogito, ergo sum
убрал профайлинг - глюк исчез..
добавли профайлинг - глюк не проявился...

странно..:rolleyes:
 

tony2001

TeaM PHPClub
xdebug был собран под эту версию?
могут быть глюки странные, если модули не под эту версию собраны.
 

Mocus

Guest
У меня Win32, использовал из консоли. Вываливался на коде :
$conn_id = @ftp_connect('IP','port',30)
, где 30 - время ожидания отклика от FTP-Server'а. Стабильно вываливалась примерно в 50% случаев. Что странно - по умолчанию ожидание стоит 90 секунд, и с ним не вываливалось. Когда я поставил 10 - тоже вываливаться перестало (ну, это уже по понятной причине :) ).
Так что 100% какой-то внутренний баг :)
 
Сверху