Bonjour à tous,
Je me retrouve face à un petit casse tête que j'ai du mal à résoudre.
Mon principe est le suivant : j'ai un script php, qui est lancé par une tâche planifiée (donc via php.exe), qui effectue l'archivage de dossiers.
Le souci, c'est que ce traitement est très long, et que je n'ai pas la possibilité d'influencer le temps d'exécution maximum du script.
J'ai donc pensé à la solution suivante : une fois le traitement terminé, le script se rappelle, réinitialisant ainsi le délai d'exécution.
Comme il s'agit d'une tâche planifiée, pas moyen d'utiliser une redirection javascript, je suis donc parti dans l'optique de faire une commande system() ou équivalent.
C'est là où je me suis cassé les dents : il est précisé dans la doc de cette commande qu'il est nécessaire de rediriger la sortie du programme lancé pour ne pas bloquer le script lanceur.
J'ai donc une syntaxe du type :
Le problème c'est que je n'ai pas l'impression que cet appel fonctionne correctement, puisque ma page se bloque sur cette commande.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 system("[monChemin]\\php.exe [monFichier] >NUL");
Je précise que mon serveur est un windows server 2000.
Si vous avez des idées quant à l'écriture de cette fonction permettant de ne pas bloquer mon script, vous m'oteriez une belle épine du pied.
Merci d'avance.
Partager