Bonjour à tous,

Je rencontre un problème qui me fait m'arracher les cheveux:
J'ai fais un script de compression de vidéo en CLI via ffmpeg.
Pour garder une trace du process en cours je veux créer un fichier log dans lequel je stock le pourcentage de progression.
En version simplifié, cela ressemble à ça:

le fichier qui appelle le CLI
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
$variable1="des infos a envoyer au script cli";
$logfile = tempnam("/var/www/vhosts/mon/chemin/vers/le/temp/", "_log");
$command = "/usr/bin/php -f /var/www/vhosts/mon/chemin/vers/le/script/monscript.php" . base64_encode($variable1) . " " . base64_encode($logfile) . " > /dev/null 2>&1  &";
 
exec($command);
monscript.php avec toutes mes fonctions d'encodage:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
if (isset($argc))
{
$variable1 = base64_decode($argv[1]);
$logfile = base64_decode($argv[2]);
file_put_contents($logfile,$variable1 ."-".$logfile);
 
 
/* et ici le reste de mon script...*/
exit();
}
Les problèmes:
Quand j'exécute
dans le premier script, il m'écrit une centaine de fichiers logs différents au lieu d'un seul ! Alors qu'a priori j'exécute la commande une seule fois ??

Ensuite le script appelé "monscript.php" ne met à jour aucun des logs écrit, ce qui me donne l'impression que le test rate au moment du Est-ce que vous voyez un problème de syntaxe dans ces quelques lignes ??

D'avance merci !
Rintrah.