Je suppose que cela fonctionne sur une sorte de unix donc si vous enveloppez votre appel php avec quelque chose comme ceci:
#!/bin/sh
# specify the full path and params below.
safe_exec()
{
if /bin/ps -axww | /usr/bin/grep "$*" | /usr/bin/grep -v grep > /dev/null; then
# the specified script running, don't start it again
return
else
# run
$*
fi
}
safe_exec php /path/to/your/php/script.php
Votre Cron chronométré redémarrera le script chaque fois, aussi longtemps que ça ne marche toujours pas.
Une autre option consiste à optimiser votre script. Si c'est en boucle infinie while(true) {}
et à court de RAM, il fait quelque chose de mal et être géré en conséquence.
Si vous manquez de temps, vous devez définir max_execution_time
via set_time_limit()
0 pour votre script CLI.
Les scripts démarrés à partir de CLI n'ont généralement pas de limite de temps et une limite de mémoire beaucoup plus élevée que 64M. – KingCrunch