2016-05-13 1 views
1

Ich versuche, einen Hintergrundprozess (Ausführen von PHP-Skript) mit popen/exec starten.nicht in der Lage, einen Hintergrundprozess zum Ausführen von PHP-Skript in Windows IIS-Server starten

i versucht, mit proc_open --- führt aber zu Endlosschleife & mit 500 internen Fehlern nach einiger Zeit beendet.

mit popen/exec - kein Fehler & zur gleichen Zeit Hintergrund Skript läuft nicht so gut.

meine aktuelle Struktur ist wie:

test.php

$processHandle = popen("start /b php background.php", "r"); 

background.php

$file = fopen("test.txt","w"); 
echo fputs($file,"Hello World. Testing!"); 
fclose($file); 

i versuchte, durch Eingabeaufforderung: php test.php

es startet den Hintergrundprozess und fil e wird erstellt

Ich habe versucht, das gleiche Skript über den Webbrowser zu starten Anfrage: es funktioniert nicht & nicht auch Fehler geben.

Hilfe bitte?

+0

welche OS Sie verwenden? –

Antwort

0
pclose(popen()); 

oder

$var = popen(); 
pclose($var); 
+0

danke. Ich habe das Ding auch ausprobiert, es funktioniert nicht. Hier besteht das Hauptproblem darin, den Hintergrundprozess selbst zu starten. bezieht es sich auf pclose()? – kamalakar

+0

wahrscheinlich ist es Ausführungszeit Fehler .... wahrscheinlich ... aber in Ihrem Fall .. der Stream ist immer noch geöffnet möglicherweise maximale Ausführungszeit erreichen ... Wenn Sie einen Hintergrundprozess ausführen möchten ... versuchen Sie Exec() .. und innerhalb der exec .. append nohup .. "nohup php background.php" –

+0

ich versuchte, dass jetzt das Problem ist Warnung: exec(): Kann nicht verzweigen [nohup php C: \ wwwroot \ api \ test \ background. php] in C: \ wwwroot \ api \ test \ test.php in Zeile 11 .. – kamalakar