Legen Sie eine Zeitüberschreitung für eine bestimmte Funktion / einen Codeblock (nicht das gesamte Skript) fest?

8

Ich habe PHP-Skripte, die perl-Skripte aufrufen, um verschiedene Dinge zu tun und manchmal bekomme ich es, wo es einfach weiter und weiter geht, ohne eine Antwort zurück zu bekommen, dies basiert auf der Variablen, die an das Perl-Skript übergeben wird Ich mache viele verschiedene hintereinander, so dass ich es nicht direkt debuggen kann, da ich keine Antwort von Perl habe ...

Ich möchte wirklich nur eine PHP-Funktion oder einen Code-Block nach einer bestimmten Anzahl von Sekunden auf Timeout setzen können. Ich habe danach gesucht, aber noch nichts gefunden, wie das geht,

Ich dachte, dass so etwas funktionieren könnte, aber ich denke nicht, dass es dynamisch die Variable $ time aktualisieren würde, aber vielleicht gibt es eine Möglichkeit, dies zum Laufen zu bringen? Jeder Rat wird geschätzt

%Vor%     
Rick 06.08.2010, 01:10
quelle

2 Antworten

8

Am besten wäre es, proc_open, sleep für den Timeout-Betrag und dann proc_terminate zu verwenden, wenn der Prozess noch nicht abgeschlossen ist.

Weitere Informationen zur proc_ * -Familie finden Sie Ссылка .

    
speshak 06.08.2010, 01:13
quelle
0

Nun, ich bin nicht so sicher, dass diese Frage eine Antwort haben würde, basierend darauf, wie ich sie gestellt habe. Also werde ich den Perl-Call machen, bei dem PHP nicht auf eine Antwort wartet und Perl schreiben muss Ausgabe in eine Textdatei, dann php lesen dies nach der angegebenen Anzahl von Sekunden, ich denke, das ist der einfachste Weg, dies zu tun, ist es nur für eine kleine App, die ich auf einem lokalen Server laufen

    
Rick 06.08.2010 02:00
quelle

Tags und Links