
Zitat von
andos
Weil mir dann Parameter fehlen, die in der Anwendung vorher gesetzt werden.
Kann man doch setzen, ist doch nichts dabei
?
Wo ich schon mal dabei bin hinterfrage ich auch gleich: Ist es denn notwendig, dass da an der Stelle tatsächlich ein externen Script via exec() aufgerufen wird, anstatt die (hoffentlich) Klasse, die darin aufgerufen wird, direkt einzubinden und aufzurufen? Du hast da nämlich einen klitzekleinen Overhead von insgesamt zwei neuen Prozessen bei jeden Aufruf: exec() startet einmal für sich selbst eine Shell und erst da drin wird dann noch ein neuer php-Prozess erzeugt [1]. Wenn das Skript nicht (sagen wir mal) 5 oder 10 Sekunden läuft, lohnts sichs kaum und bei kurzlebigen Skripten wird es dann sogar schädlich (Prozesse erzeugen ist nicht so trivial), denn schließlich blockiert exec().
Wir wollen halt, dass wenn man die Anwendung debugged, die CLI-Scripte auch gleich mit debugged werden.
Ist nichts persönlich, aber bei "Ich/Wir wollen halt..." kribbelts bei mir immer etwas unangenehm :X
[1]
PHP-Code:
// foo.php
sleep(60); // damit wir bisschen Zeit haben
// bar.php
exec(__DIR__ . '/foo.php');
bar.php aufrufen und via htop (als Baumansicht) mal nachschauen (geht bestimmt auch besser, mir reichts ^^).
Lesezeichen