Hallo noch mal,
kann es sein, dass man exec() nur einmal aufrufen kann??
Experiment:
Die Datei test_1.php wird durch eine Browsereingabe (
www.domain.xy/test_1.php) gestartet.
Code:
test_1.php
<?php
$bericht_datei = "/home/www/.../test.txt";
$bericht_zeile = "Aktuelle Zeit: " . date("d.m.Y H:i:s") . " Datei: test_1 verarbeitet \n";
$bericht = fopen("$bericht_datei", "a");
fwrite($bericht, $bericht_zeile);
fclose($bericht);
exec("/usr/bin/php /home/www/.../test_2.php");
?>
test_2.php
<?php
$sleep(5);
$bericht_datei = "/home/www/.../test.txt";
$bericht_zeile = "Aktuelle Zeit: " . date("d.m.Y H:i:s") . " Datei: test_2 verarbeitet \n";
$bericht = fopen("$bericht_datei", "a");
fwrite($bericht, $bericht_zeile);
fclose($bericht);
exec("/usr/bin/php /home/www/.../test_3.php");
?>
test_3.php
<?php
sleep(5);
$bericht_datei = "/home/www/.../test.txt";
$bericht_zeile = "Aktuelle Zeit: " . date("d.m.Y H:i:s") . " Datei: test_3 verarbeitet \n";
$bericht = fopen("$bericht_datei", "a");
fwrite($bericht, $bericht_zeile);
fclose($bericht);
?>
Die Ausgabe in test.txt sieht so aus:
Aktuelle Zeit: 22.09.2007 08:35:00 Datei: test_1 verarbeitet
Aktuelle Zeit: 22.09.2007 08:35:05 Datei: test_2 verarbeitet
Der Prozess wird also in der Datei test_2.php bei exec() abgebrochen. Aber warum ???
Alle drei Dateien sind doch gleich und liegen im gleichen Ordner.
Gibt es eine Beschränkung, dass exec() nur zweimal ausgeführt werden kann oder darf???
Hat jemand eine Erklärung?
Gruß, Michael
Nachtrag:
wenn ich die Datei test_2.php über den Browser starte wird die Datei test_3.php korrekt ausgeführt.
Die Ausgabe in test.txt sieht so aus:
Aktuelle Zeit: 22.09.2007 08:35:00 Datei: test_2 verarbeitet
Aktuelle Zeit: 22.09.2007 08:35:05 Datei: test_3 verarbeitet