PHP 5 auf der Kommandozeile (Teil 1) PHP 5 Kommandozeilenparameter
Ebenso wie Perl hat PHP sehr mächtige Werkzeuge für die Kommandozeile. Bisher werden jedoch die Möglichkeiten welche PHP auf der Kommandozeile bietet, auch aus Unkenntnis, selten genutzt.
Einen schnellen Überblick über die CLI (command line interface) Parameter, welche PHP bietet, kann man sich mit folgendem Aufruf schaffen:
# php -h
Bevor es an die wirklich raffinierten Parameter geht, seien zunächst die Konfigurationsparameter erklärt.
PARAMETER ZUR KONFIGURATION
Parameter: -c
Soll für den Command Line Betrieb eine abweichende PHP Konfigurationsdatei (php.ini) verwendet werden, oder möchte man Parameter auf den Einsatzzweck abstimmen, kann über den Parameter -c ein Ort für die php.ini Datei angegeben werden.
Beispiele:
# php -c <pfad zur datei> -f <Scriptname>
# php -c <Verzeichnis> -f <Scriptname>
Tip:
Um den Pfad zur php.ini herauszubekommen, hilft unter Linux/Unix
folgender Befehl:
# php -i | grep php.ini
Parameter: -n
Wird der Parameter -n angegeben wird die Konfigurationsdatei nicht geladen.
Parameter: -d
Mit dem Parameter -d ist es möglich bereits mit der Kommandozeile einzelne Konfigurationswerte zu setzen bzw. zu überschreiben.
Beispiel:
# php -d html_errors=On -f <Scriptname>
Mit diesem Aufruf wird das Ausgabeformat von Fehlermeldungen auf HTML gesetzt.
(Standardmäßig ist dieses in der CLI Umgebung auch Text gesetzt.)
Parameter: -i
Gibt ausführliche Infomationen zur installierten PHP Version aus.
(Ausgabe identisch mit phpinfo(), jedoch im Textformat)
Beispiel:
# php -i
Parameter: -m
Gibt eine Liste einkompilierter PHP als auch Zend Module aus.
Beispiel:
# php -m
PARAMETER ZUM PARSEN UND AUSFÜHREN VON PHP CODE
Parameter: -l
Führt einen Syntax Check aus ohne das Script selbst auszuführen.
PHP berichtet dabei über Erfolg als auch Misserfolg seines Syntaxchecks.
Beispiel:
# php -l <Scriptname>
Parameter: -f
Über den Parameter -f wird die zu parsende Datei angegeben.
Beispiel:
# php -f <Scriptname>
Parameter: -a
Mit dem "Interactive mode" wird eine Art Shell gestartet welche PHP Code interpretiert.
Beispiel:
# php -a
(die Meldung "Interactive mode enabled" erscheint)
<?php echo date('Y-m-d'); ?>
Ausgabe: 2004-10-13
Parameter: -r
Der Parameter -r ermöglicht die Ausführung von PHP Code ohne die Script Tags
<?..?>.
Beispiel:
# php -r 'print_r(get_defined_constants());'
(Gibt alle in PHP definierten Konstanten aus.)
Parameter: -R -F -B -E (neu in PHP 5)
Beispiel:
cat in.txt | php -R 'file_put_contents("out.txt", rtrim($argn)."n", FILE_APPEND);'
Der Parameter -R ermöglicht die Zeilenweise Abarbeitung eines Inputstreams mit einem Codeblock.
Letztes Beispiel entfernt alle Leerzeichen u. Tabs am Zeilenenande, fügt ein Unix Newline an jede Zeile und speichert Zeile für Zeile in out.txt.
Beispiel:
# cat count.php | php -F count.php -B '$leer=0;$code=0;' -E 'echo "$leer:$code";'
<?php
// Datei: count.php
if (trim($argn)) $code++;
else $leer++;
?>
Ausgabe: 0:5
Der Parameter -F ermöglicht die Angabe eines PHP Scriptes welches Zeile für Zeile des Inputstreams ausgeführt wird. Hat der Inputstream wie im obigen Beispiel 5 Zeilen wird auch das PHP Script 5 mal ausgeführt. Wird der Scriptcode also etwas länger, muss dieser nicht mit dem Parameter -R auf die Kommandozeile getippt werden, sondern kann in eine Datei ausgelagert werden. Das Ergebnis bleibt jedoch das gleiche. Der Parameter -F ist nicht zu verwechseln mit dem Parameter -f, über den ebenfalls ein PHP Script angegeben werden kann.
Über den Parameter -B kann PHP Code angegeben werden, welcher vor Beginn der Verarbeitung des Inputstreams ausgeführt wird. Beispielsweise um wie in diesem Beispiel Variablen zu initialisieren.
Über den Parameter -E kann PHP Code angegeben werden, welcher nach Beendigung des Inputstreams ausgeführt wird. Beispielsweise um wie in diesem Beispiel das Resultat der Verarbeitung anzuzeigen.
zurück
Internet Verweise zum Thema
Offizielle PHP Seite
|