by:

Hallo,

nach meinem Urlaub mal wieder ein kleiner Artikel zum Thema PHP.

Manchmal ist es nützlich einen in den Hintergrund zu legen, dies dient zum Beispiel dazu bei rechen- und zeitintensiven Prozessen den Benutzer nicht warten zu lassen.

Code

<?php shell_exec("nohup php /var/www/test.php > /dev/null 2> /dev/null & echo $"); ?>

Die PHP Funktion shell_exec führt eine shell Befehl aus.

nohup nabelt ein Programm vom Elternprozess ab

php -q /var/www/test.php führt den PHP Script aus, der im Hintergrund laufen soll.

> /dev/null leitet die Ausgabe ins Nirgendwo um.

Wenn also diese Zeile im Browser geöffnet wird, wird ein Subprozess von php gestartet, das bedeutet der Benutzer kann weitersurfen, während der Prozess auf dem Server weiter läuft.

Leicht ist das z.B. mit einer Endlosschleife zu testen.

Um sich aktive Prozesse am Server anzusehen genügt z.B. folgender shell Befehl:

ps aux | grep php

Ich hoffe der Beitrag hat euch gefallen und freue mich über euer Feedback.

MFG

Andreas



Name:
mit test.php?var=wert&var2=wert2 usw

Name:
Hi kingkev,

das ist relativ einfach, du h?ngst nach der test.php dein parameter dran und kannst dann mit der variabel $argv in der test.php den parameter wieder auslesen ..

mach einfach mal ein var_dump($argv); in der test.php und ruf sie dann z.b. so auf php test.php parameter1 parameter2

lg
andreas

Name:
Hey,

super post. Wie krieg ich da denn noch GET parameter ?bermittelt?