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-ID: 121280

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

Ausgedruckt am: 22.11.2024 um 14:11 Uhr

Supermax
Supermax 24.07.2009 um 19:51:39 Uhr
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.
Arano
Arano 24.07.2009 um 20:09:10 Uhr
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 !?
Supermax
Supermax 24.07.2009 um 20:18:09 Uhr
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
Arano
Arano 24.07.2009 um 22:39:00 Uhr
Goto Top
Hehe,

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