Aus Standardfunktion zurückkehren



  • Hallo,

    ich starte mit exec() ein Konsolenprogramm unter Windows.

    Das Programm startet auch und läuft, allerdings läd der Browser ständig weiter, was an der exec() Funktion liegt.

    Wie im Manual beschrieben, habe ich auch versucht die Ausgabe in eine Datei umzuleiten. Die Datei wird dabei zwar erzeugt, aber es wird nichts hineingeschrieben und der Browser läd nach wie vor weiter.

    Auch den 2. Parameter der Funktion exec() hatte ich mal angegeben, keine Änderung im Verhalten.

    Das selbe hab ich auch mit system() und shell_exec() versucht, das selbe.

    Ich kann ohne Probleme auf den Abbrechen Button des Browsers klicken, das Konsolenprogramm läuft weiter und alles ist wie es sein soll. Das PHP Skript wird zwar ncht weiter ausgeführt logischerweise, aber das macht an dieser Stelle nichts.

    Allerdings möchte ich das gern automatisieren. Der Browser soll nach Aufruf von exec() im PHP Skript fortfahren und nicht auf die Rückkehr von exec() warten.

    Wie gelingt mir das?

    Vielen Dank schonmal.



  • Schau dir mal Pipes an, die kannst du selbst wieder schließen, also auch, wenn die Ausgabe des Programms noch gar nicht beendet ist.

    Ansonsten könnte Multithreading sein, was du suchst.
    Schau dir dazu mal die Funktionen pcntl_fork() und Konsorten an 😉


Anmelden zum Antworten