Script mit "while()" ausführen mit exec('php script.php'); ohne Warten?

Habs versucht mit
PHP:
<?
exec("php while.php",$blaaa);
echo "Done";
?>
Aber das gleiche, er Läd sich dumm und Dappig :(

Vllt. ist der weg exec(); ansich falsch. Was ist den mit proc_open();, hab das schon ma angeschaut, bin aber nicht wirklich weit gekommen... also es hat net ma irgendwas gemacht...

MFG Hawkster
 
Leerzeichen? du meinst "while.php" heißt die Datei. Das php dient nur dazu, das ich auch mit "php" interpretiere... :D

MFG
Hawkster
 
kann man es nicht einfach mit angehängtem & in den Hintergrund schießen ?
exec("script.php &")
*denks*
Die bange frage ist dann nur - wie kommt man an das teil dann wieder ran ;)
Bei eingabe auf der Konsole gibt es die Prozess Id aus.
Die solltest du abfangen und ggf weiterverarbeiten.
Alternativen wären Interprozesskomunikation mit Queues oder pipes...
 
Also, habs in der Konsole versucht, da gehts wunderbar, nun hab ich noch die PHp-Datei, leider funktioniert kein einziger Befehl... das Script wird nicht gestartet

PHP:
<?
error_reporting(E_ALL);
$cmd = "php while.php>text.txt &";
echo $cmd;

system($cmd,$blaaa);
exec($cmd,$blaaa);
shell_exec($cmd,$blaaa);

foreach($blaaa as $line) {
	echo $line."<br>";
}

echo "Done";
?>
 
Also, des Rätsel Lösung ist zimlich einfach.
Das Script würde gestartet werden, aber wir verlassen über PHP so sofort wieder die Console, also kann das net Funktionieren.

Man brauch einen Screen, mei mir siehts nun so aus:

PHP:
<? exec("screen -m -d php datei.php>/dev/null &"); ?>
Screen sollte jedem bekannt sein. Die paramter hab ich keine Ahnung, hat mir ein kumpel gegeben.
Das ">/dev/null" bedeutet, die Ausgabe, welche das Script macht wird ins "leere" geleitet.
Das "&" gibt an, das es als Hintergrundprozess gestartet werden soll.

MFG
Hawkster
 

Neue Beiträge

Zurück