Sous Windows, j'utilise PHP pour exécuter une commande gulp
.Sortie en direct dans un fichier avec PHP exec()?
Comme ceci:
<?php
set_time_limit(0);
exec("cd /projectpath");
$results = exec("gulp");
?>
Cela fonctionne, mais je ne peux obtenir les résultats de la commande après qu'il ait fini, qui prend environ 30 secondes.
Je voudrais écrire les résultats dans un fichier, alors qu'il est en cours d'exécution, donc je peux interroger les progrès dans un intervalle en utilisant Ajax.
Dans une invite de commande normale que je peux faire
gulp > results.txt 2>&1
et le fichier texte est rempli alors que la commande est en cours d'exécution.
J'ai déjà essayé shell_exec
(), system
() et passthru
() aussi, mais je n'arrive pas à le faire fonctionner depuis PHP.
Une idée est?
Peut-être [popen] (http://php.net/manual/en/function.popen.php) sera utile. – segFault