time_nanosleep

time_nanosleep($seconds, $nanoseconds)

Met le script en pause pour la durée donnée : des secondes entières plus des nanosecondes. Elle renvoie true. Lorsqu’un signal interrompt l’attente, elle renvoie un tableau avec le temps restant.

Paramètres

  • $seconds – les secondes entières (0 ou plus).
  • $nanoseconds – les nanosecondes, de 0 à 999 999 999.

Exemples

$start = hrtime(true);
var_dump(time_nanosleep(0, 100000000)); // bool(true)
// au moins 0,09 s se sont écoulées
var_dump(hrtime(true) - $start >= 90000000); // bool(true)
// une pause de 1,5 s :
// time_nanosleep(1, 500000000);

Points d’attention

  • Les nanosecondes doivent être comprises entre 0 et 999 999 999. Une autre valeur : PHP 7.4 affiche un avertissement et renvoie false, PHP 8 lance une exception ValueError.
  • La durée réelle de la pause dépend du système et peut être un peu plus longue.
  • Pour les pauses ordinaires, usleep() (microsecondes) ou sleep() (secondes) suffit.

Fonctions associées :
usleep()
sleep()
time_sleep_until()
hrtime()