par
Sékiltoyai » 21 juil. 2007, 15:15
Bonjour,
J'ai un petit problème pour ceux qui s'intéressent aux recoins de php.
J'ai peut être pas tout capté dans la structure declare, mais j'ai fait ceci :
<?php
header('Content-Type: text/plain');
$test = 0;
declare(ticks=1)
{
$test++;
echo microtime(true) . "\n";
if($test!=10) sleep(1);
}
?>
Et le bloc ne s'exécute qu'une seule fois, car il m'affiche simplement ceci :
1185023191.62
. Ne devrait-il pas s'éxécuter 10 fois ?
Et si je mets ce code :
<?php
header('Content-Type: text/plain');
function tick()
{
static $test = 0;
$test++;
echo microtime(true) . "\n";
if($test==10) exit();
}
register_tick_function('tick');
declare(ticks=1)
{
while(true) sleep(1);
}
?>
C'est carrément le serveur httpd qui crashe...
Quelqu'un a-t-il déjà utilisé declare ? Et auquel cas, qu'est ce qui a pu m'échapper ?
Merci de votre aide
