-a |
--interactive |
Startet PHP im interaktiven Modus. Für weitere Informationen siehe
die Dokumentation für den
Interaktiven Modus.
|
-b |
--bindpath |
Der Bind-Pfad für den externen FASTCGI-Servermodus (nur
CGI).
|
-C |
--no-chdir |
Nicht in das Verzeichnis des Skripts wechseln (nur
CGI).
|
-q |
--no-header |
Der Quiet-Modus. Unterdrücke die Ausgabe von
HTTP-Headern (nur CGI).
|
-T |
--timing |
Misst die Ausführungszeit des Skripts. Dies wird
count mal durchgeführt (nur
CGI).
|
-c |
--php-ini |
Mit dieser Option kann man entweder ein Verzichnis angeben, in
welchem nach der php.ini gesucht werden soll, oder man kann eine
eigene INI -Datei angeben (diese muss nicht
php.ini heissen). Zum Beispiel:
Wenn diese Option nicht angegeben wird, wird die php.ini-Datei an
den vorgegebenen Orten
gesucht.
|
-n |
--no-php-ini |
php.ini komplett ignorieren.
|
-d |
--define |
Diese Option erlaubt es Ihnen, einen eigenen Wert für eine beliebige
in php.ini erlaubte Direktive zu setzen. Die Syntax ist:
-d configuration_directive[=value]
Beispiel #1 Beispiel für die Verwendung von -d zum Setzen einer INI-Direktive
# Auslassen des Wertes setzt die Direktive auf "1"
$ php -d max_execution_time
-r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(1) "1"
# Übergeben eines leeren Wertes setzt die Direktive auf ""
php -d max_execution_time=
-r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(0) ""
# Die Direktive wird auf das gesetzt, was nach '=' kommt
$ php -d max_execution_time=20
-r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(2) "20"
$ php
-d max_execution_time=doesntmakesense
-r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(15) "doesntmakesense"
|
-e |
--profile-info |
Erweiterte Informationen für Debugger/Profiler erstellen.
|
-f |
--file |
Parst die angegebene Datei und führt sie aus. Das -f
ist optional und kann weggelassen werden. Es genügt, nur den
Dateinamen anzugeben.
|
-h und -? |
--help und --usage |
Gibt eine Liste von Kommandozeilenoptionen mit kurzen Beschreibungen
ihrer Funktion aus.
|
-i |
--info |
Diese Kommandozeilenoption ruft phpinfo() auf und
gibt das Ergebnis aus. Wenn PHP nicht korrekt funktioniert, ist es
empfehlenswert, php -i zu verwenden und
nachzusehen, ob etwa Fehlermeldungen vor oder statt der
Informationstabellen ausgegeben werden. Beachten Sie, dass die Ausgabe
bei Verwendung des CGI-Modus in
HTML erfolgt und deswegen ziemlich umfangreich ist.
|
-l |
--syntax-check |
Überprüft die Syntax, führt aber den angegebenen PHP-Code nicht aus.
Wenn kein Dateiname angegeben ist, wird die Eingabe von der
Standardeingabe verarbeitet, andernfalls wird jede angegebene Datei
überprüft. Bei Erfolg wird der Text
No syntax errors detected in <filename> auf
der Standardausgabe ausgegeben.
Bei einem Fehler wird zusätzlich zum internen Parser-Fehler der Text
Errors parsing <filename> auf der
Standardausgabe ausgegeben.
Wenn in den angegebenen Dateien (oder der Standardeingabe)
irgendwelche Fehler gefunden werden, wird der Shell-Rückgabecode auf
-1 gesetzt, andernfalls wird er auf
0 gesetzt.
Diese Option findet keine fatalen Fehler (z. B. undefinierte
Funktionen), die die Ausführung des Codes erfordern.
Hinweis:
Vor PHP 8.3.0 war es nur möglich, den Namen einer Datei anzugeben,
die überprüft werden sollte.
Hinweis:
Diese Option funktioniert nicht zusammen mit der Option
-r.
|
-m |
--modules |
Beispiel #2 Ausgabe der geladenen PHP- und Zend-Module
$ php -m
[PHP Modules]
xml
tokenizer
standard
session
posix
pcre
overload
mysql
mbstring
ctype
[Zend Modules]
|
-r |
--run |
Diese Option erlaubt die Ausführung von PHP Code direkt von der
Kommandozeile. Die PHP-Tags <?php und
?> werden nicht
benötigt und verursachen einen Parsefehler, wenn sie
dennoch vorhanden sind.
Hinweis:
Bei der Verwendung dieser Option in PHP ist besondere Vorsicht
geboten, dass es nicht zu Kollisionen mit dem Ersetzen von
Kommandozeilenvariablen durch die Shell kommt.
Beispiel #3 Syntaxfehler beim Verwenden von doppelten Anführungszeichen
$ php -r "$foo = get_defined_constants();"
PHP Parse error: syntax error, unexpected '=' in Command line code on line 1
Parse error: syntax error, unexpected '=' in Command line code on line 1
Das Problem hier ist, dass auch sh/bash Variablen ersetzt, wenn
doppelte Anführungszeichen (" ) verwendet werden.
Weil die Variable $foo wahrscheinlich nicht
definiert ist, wird die Variable zu nichts aufgelöst. Der
entstehende Code, welcher PHP übergeben wird, sieht so aus:
Der richtige Weg wäre, einfache Anführungszeichen
(' ) zu verwenden. Variablen in einfachen
Anführungszeichen werden von sh/bash nicht ersetzt.
Beispiel #4 Verwendung einfacher Anführungszeichen, um ein Ersetzen der Variablen durch die Shell zu verhindern
$ php -r '$foo = get_defined_constants(); var_dump($foo);'
array(370) {
["E_ERROR"]=>
int(1)
["E_WARNING"]=>
int(2)
["E_PARSE"]=>
int(4)
["E_NOTICE"]=>
int(8)
["E_CORE_ERROR"]=>
[...]
Wenn eine andere Kommandozeilenumgebung als sh/bash verwendet wird,
könnten weitere Probleme auftreten. Gegebenenfalls kann unter
» https://github.com/php/php-src/issues ein
Bugreport erstellt werden. Man kann dennoch leicht in
Schwierigkeiten geraten, wenn man versucht PHP- oder Shell-Variablen
zu verwenden, oder Backslashes zum Maskieren verwendet. Sie wurden
gewarnt!
Hinweis:
-r ist in der CLI SAPI verfügbar, nicht jedoch
in der CGI-SAPI.
Hinweis:
Diese Option ist für sehr einfachen Code gedacht, weshalb einige
Direktiven wie etwa
auto_prepend_file und
auto_append_file in
diesem Modus ignoriert werden.
|
-B |
--process-begin |
PHP-Code, der ausgeführt werden soll, bevor stdin ausgewertet wird.
|
-R |
--process-code |
PHP-Code, der für jede Eingabezeile ausgeführt werden soll.
Es gibt zwei spezielle Variablen in diesem Modus:
$argn und $argi.
$argn enthält die Zeile, die PHP gerade
verarbeitet und $argi enthält die Zeilennummer.
|
-F |
--process-file |
PHP-Datei, die für jede Eingabezeile ausgeführt werden soll.
|
-E |
--process-end |
PHP-Code, der nach der Verarbeitung der Eingabe ausgeführt werden
soll.
Beispiel #5
Nutzung der Optionen -B, -R und
-E, um die Anzahl der Zeilen in einem Projekt zu
zählen.
$ find my_proj | php -B '$l=0;' -R '$l += count(@file($argn));' -E 'echo "Zeilen insgesamt: $l\n";'
Zeilen insgesamt: 37328
|
-S |
--server |
Startet den
eingebauten Webserver.
|
-t |
--docroot |
Gibt den Document-Root (Wurzelverzeichnis der Dokumente) für den
eingebauten Webserver
an.
|
-s |
--syntax-highlight und --syntax-highlighting |
Den Quelltext mit farblich hervorgehobener Syntax anzeigen.
Diese Option verwendet den internen Mechanismus zum Parsen von
Dateien, um eine HTML-Version mit Syntax-Highlighting auf die
Standardausgabe zu schreiben. Beachten Sie, dass sie nur einen Block
mit den HTML-Tags <code> [...] </code>
erzeugt, jedoch keine HTML-Header.
Hinweis:
Diese Option funktioniert nicht zusammen mit -r.
|
-v |
--version |
Beispiel #6
Nutzung von -v, um den
SAPI-Namen, sowie die PHP- und Zend-Version zu
ermitteln
$ php -v
PHP 5.3.1 (cli) (built: Dec 11 2009 19:55:07)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies
|
-w |
--strip |
Den Quelltext ohne Kommentare und Leerzeichen anzeigen.
Hinweis:
Diese Option funktioniert nicht zusammen mit -r.
|
-z |
--zend-extension |
Eine Zend-Erweiterung laden. Wenn nur ein Dateiname angegeben wird,
versucht PHP, die Erweiterung aus dem momentanen
Standard-Bibliotheken-Pfad auf Ihrem System zu laden (auf
Linux-Systemen normalerweise in /etc/ld.so.conf
angegeben). Wenn ein Dateiname mit absoluter Pfadinformation
übergeben wird, wird der Bibliotheken-Pfad des Systems nicht
verwendet. Ein relativer Dateiname mit Pfadinformationen wird PHP
veranlassen, zu versuchen, die Erweiterung in einem Pfad relativ zum
aktuellen Verzeichnis zu laden.
|
|
--ini |
Zeigt die Namen der Konfigurationsdateien und die durchsuchten
Verzeichnisse.
Beispiel #7 --ini -Beispiel
$ php --ini
Configuration File (php.ini) Path: /usr/dev/php/5.2/lib
Loaded Configuration File: /usr/dev/php/5.2/lib/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
|
--rf |
--rfunction |
Zeigt Informationen über die angegebene Funktion oder Klassenmethode
(z. B. Anzahl und Namen der Parameter).
Diese Option ist nur verfügbar, wenn PHP mit
Reflection-Unterstützung
kompiliert wurde.
Beispiel #8 Einfache --rf -Nutzung
$ php --rf var_dump
Function [ <internal> public function var_dump ] {
- Parameters [2] {
Parameter #0 [ <required> $var ]
Parameter #1 [ <optional> $... ]
}
}
|
--rc |
--rclass |
Zeigt Inforationen über die angegebene Klasse (Liste der Konstanten,
Eigenschaften und Methoden).
Diese Option ist nur verfügbar, wenn PHP mit
Reflection-Unterstützung
kompiliert wurde.
Beispiel #9 --rc -Beispiel
$ php --rc Directory
Class [ <internal:standard> class Directory ] {
- Constants [0] {
}
- Static properties [0] {
}
- Static methods [0] {
}
- Properties [0] {
}
- Methods [3] {
Method [ <internal> public method close ] {
}
Method [ <internal> public method rewind ] {
}
Method [ <internal> public method read ] {
}
}
}
|
--re |
--rextension |
Zeigt Informationen über die angegebene Erweiterung (Liste der
php.ini-Optionen, definierte Funktionen, Konstanten und Klassen).
Diese Option ist nur verfügbar, wenn PHP mit
Reflection-Unterstützung
kompiliert wurde.
Beispiel #10 --re -Beispiel
$ php --re json
Extension [ <persistent> extension #19 json version 1.2.1 ] {
- Functions {
Function [ <internal> function json_encode ] {
}
Function [ <internal> function json_decode ] {
}
}
}
|
--rz |
--rzendextension |
Zeigt Konfiguration der angegebenen Zend-Erweiterung an (entspricht
der von phpinfo() zurückgegebenen Information).
|
--ri |
--rextinfo |
Zeigt die Konfiguration der angegebenen Erweiterung an (entspricht
der von phpinfo() zurückgegebenen Information).
Die Konfiguration des Sprachkerns kann über den speziellen
Erweiterungsnamen "main" ermittelt werden.
Beispiel #11 --ri -Beispiel
$ php --ri date
date
date/time support => enabled
"Olson" Timezone Database Version => 2009.20
Timezone Database => internal
Default timezone => Europe/Oslo
Directive => Local Value => Master Value
date.timezone => Europe/Oslo => Europe/Oslo
date.default_latitude => 59.930972 => 59.930972
date.default_longitude => 10.776699 => 10.776699
date.sunset_zenith => 90.583333 => 90.583333
date.sunrise_zenith => 90.583333 => 90.583333
|