73268
Goto Top

PHP - Programm aufrufen

Hallo,

ich gerne aus meinem Script heraus den Script xy.php IM HINTERGRUND starten.

$ausgabe = system("xy.php &");

PHP wartet aber, bis der gestartete Script abgeschlossen ist.

Hat jemand einen Tipp?

Viele Grüße,
Philipp

Content-Key: 121280

Url: https://administrator.de/contentid/121280

Printed on: April 26, 2024 at 04:04 o'clock

Member: Supermax
Supermax Jul 24, 2009 at 17:51:39 (UTC)
Goto Top
Versuche es mit
$ausgabe = system('xy.php >/dev/null 2>&1 &');  
. Dadurch werden die Standardausgabe und die Standard-Fehlerausgabe nach /dev/null umgeleitet, sodaß keine offenen pipes mit dem übergeordneten Prozess übrig bleiben und das Beenden des "Eltern"-Scripts verhindern. Das funktioniert so allerdings nur unter Linux und anderen unixoiden Betriebssystemen.
Member: Arano
Arano Jul 24, 2009 at 18:09:10 (UTC)
Goto Top
Moin moin,

probier es doch mal mit einer Zwischendatei.
Also, von PHP aus rufst du ein Shell-Script auf welches wiederum dein zweites PHP-Script aufruft.
Das Shell-Script sollte in eins durchlaufen wenn du es auch mit dem "&" machst wie in deinem Beitrag (wie heisst das eigendlich?) und dein erstes PHP-Script nicht weiter aufhalten...

...sone Idee halt nech face-smile


~Arano

Edit:
sollte es nicht auh system('/usr/bin/php /home/arano/web/xy.php &') heissen !?
Member: Supermax
Supermax Jul 24, 2009 at 18:18:09 (UTC)
Goto Top
Wenn das PHP-Script die korrekten Berechtigungen hat und mit #!/usr/bin/php -q beginnt, kann es auch wie ein normales executable ausgeführt werden. Dasselbe gilt auch für PERL und andere Scriptsprachen
Member: Arano
Arano Jul 24, 2009 at 20:39:00 (UTC)
Goto Top
Hehe,

oder wie das Shell-Script mit seiner Shebang-Zeile das ich eben noch selbst erwähnte...