de.comp.lang.php.* FAQ

5.6. Zeitgesteuerte PHP-Scripte und Shellscripte

Antwort von Kristian Köhntopp

"echo" als PHP-Script "echo.php":

#! /usr/bin/php
<?php
  echo "argc = {$_SERVER['argc']}\n";
  foreach ($_SERVER['argv'] as $k => $v) {
    echo "_SERVER['argv'][$k] = $v\n";
  }
?>

Dies setzt ein installiertes Binary von PHP in /usr/bin/php voraus. Seit PHP 4.3.0 wird PHP (ob Webserver-Modul oder CGI-Version) immer mit dem CLI (Command Line Interface) ausgeliefert (UNIX/Linux: ein Binary namens "php", Windows: "php.exe"). Dieses kann für Standalone-Applikationen benutzt werden. Zusätzlich bietet das CLI noch einige weitere interessante Optionen und Eigenschaften

Ein solches Script lässt sich über die Unix-Zeitsteuerung cron bzw. äquivalente Programme regelmäßig aufrufen.

Dem Script steht das Array $_SERVER['argv'][] zur Verfügung, welches die Kommandozeilenparameter des Aufrufs enthält. Dieses Array kann auf die übliche Weise aufgezählt werden. Die Anzahl der Elemente des Arrays kann man mit der Funktion count() bestimmen oder in der Variablen $_SERVER['argc'] nachschlagen.

Hat man nur mod_php zur Verfügung, kann man eine bestimmte URL des Webservers durch PHP regelmäßig zeitgesteuert abrufen lassen. Dazu sind Tools wie wget oder lynx hilfreich.

Valid HTML 4.01! Valid CSS!

5.6. Zeitgesteuerte PHP-Scripte und Shellscripte
http://www.php-faq.de/q/q-php-zeitgesteuert.html
Archiv der de.comp.lang.php-FAQ Dies ist eine Archivseite von 2008 und wurde seitdem nicht geändert. Das dclp-FAQ-Team