Exec -> Ausgaben umgeleitet erzeugt nur leere Datei
Bobby
- php
Moin,
ich habe eine Datei test.php, die ich gern per php exec ausführen möchte. Dies Ausgaben sollen dabei direkt in eine Datei umgeleitet werden.
per Browser aufgerufen, sehe ich ein Ergebnis. Per exec aber bleib die erzeugte Datei leer. woran kann das liegen?
exec ( sprintf ( 'php "%s" > "%s" >&1 & echo $! >> /dev/null', 'test.php', 'test.txt' ) );
wie gesagt, wird mir die Datei erzeugt. Wenn ein PHP Fehler enthalten ist wird mir dieser ausgegeben (auch in der Datei). Aber die normalen Rückgaben erhalte ich leider nicht.
Woran kann das liegen? Jemand ne Idee?
Gruß Bobby
Moin
exec ( sprintf ( 'php "%s" > "%s" >&1 & echo $! >> /dev/null', 'test.php', 'test.txt' ) );
weiteres Phänomen, wenn ich die PHP-Datei im Browser aufrufe und in eine Text-Datei schriebe, funktioniert das. Wenn ich dies aber wieder über exec ausführe, wird mir keine Textdatei erzeugt... ich verzweifel hier grad... Hiiiiilfe ...
Gruß Bobby
Hi,
weiteres Phänomen, wenn ich die PHP-Datei im Browser aufrufe und in eine Text-Datei schriebe, funktioniert das. Wenn ich dies aber wieder über exec ausführe, wird mir keine Textdatei erzeugt...
Na dann implementiere erst mal ein bisschen elementare Fehler-Behandlung/-Logging.
Und denk daran, dass bei der Ausführung per CLI oftmals eine andere php.ini zum Einsatz kommt, als wenn du das ganze über den Webserver aufrufst … Unterschiede in der Konfiguration könnten also auch ein Faktor sein.
MfG ChrisB
Moin
Problem gelöst. Hatte einen Fehler im Script. Wartnings hatte ich aber abgeschalten. Deswegen nicht gleich gesehen. Danke trotzdem.
Gruß Bobby