PHP Handbuch
Zurück |  | Weiter

# Kapitel 39. PHP auf der Kommandozeile

Seit Version 4.3.0 unterstützt PHP einen neuen Typ SAPI (Server Application Programming Interface) namens CLI (Command Line Interface). Wie der Name schon verrät, liegt das Hauptaugemerk dieses SAPI-Typs auf der Entwicklung von Anwendungen für die Kommandozeile (und auch den Desktop) mit PHP. Es gibt etliche Unterschiede zwischen dem CLI SAPI und anderen SAPIs, die in diesem Kapitel beschrieben werden. Es ist erwähnenswert, dass CLI und CGI verschiedene SAPIs sind, obwohl sie viele Verhaltensweisen teilen.

Das CLI SAPI wurde zum ersten Mal mit PHP 4.2.0 eingeführt, war aber noch experimentell und musste explizit mit --enable-cli beim ./configure-Aufruf eingeschaltet werden. Seit PHP 4.3.0 ist das CLI SAPI nicht länger experimentell und die Option --enable-cli standardmäßig auf on gestellt. Sie können --disable-cli benutzen, um es auszuschalten.

Von PHP 4.3.0 an werden Namen, Pfade und Vorhandensein der CLI/CGI-Binaries voneinander abweichen, abhängig davon, wie PHP auf Ihrem System installiert ist. Standarmäßig werden nach dem Aufruf von make sowohl CGI als auch CLI kompiliert und als sapi/cgi/php beziehungsweise sapi/cli/php in Ihrem PHP-Quellcodeverzeichnis hinterlegt. Sie werden bemerken, dass beide php benannt sind. Was während make install passiert, hängt von Ihrem configure-Kommando ab. Wenn ein Modul-SAPI während configure gewählt wird, wie etwa apxs oder wenn die --disable-cgi-Option benutzt wird, wird das CLI während make install nach {PREFIX}/bin/php kopiert, ansonsten wird das CGI dort hinterlegt. Also wird, wenn beispielsweise --with--apxs in Ihrem configure-Kommando auftaucht, das CLI während make install nach {PREFIX}/bin/php kopiert. Wenn Sie die Installation des CGI-Binaries außer Kraft setzen wollen, benutzen Sie make install-cli nach make install. Alternativ können Sie --disable-cgi in Ihrem configure-Kommando angeben.

> Anmerkung: Weil sowohl --enable-cli als auch --enable-cgi standardmäßig eingeschaltet sind, muss --enable-cli in Ihrem configure-Kommando nicht zwingend bedeuten, dass das CLI während make install nach {PREFIX}/bin/php kopiert wird.

Die Windows-Pakete zwischen PHP 4.2.0 und PHP 4.2.3 enthielten das CLI als `php-cli.exe`, beheimatet im selben Verzeichnis wie das CGI `php.exe`. Beginnend mit PHP 4.3.0 enthält das Windows-Paket das CLI als `php.exe` in einem eigenen Verzeichnis namens cli, also cli/php.exe. Beginnend mit PHP 5 wird das CLI im Hauptordner al `php.exe` ausgeliefert. Die CGI-Version heisst `php-cgi.exe`.

Seit PHP gibt es eine neue Datei, `php-win.exe`. Diese ist identisch mit der CLI-Version, die einzige Ausnahme besteht darin, dass php-win nichts ausgibt und somit keine Konsole bietet. (Es erscheint keine "MS-DOS-Eingabeaufforderung".) Dieses Verhalten ist ähnlich php-gtk. Sie sollten die folgende Option für ./configure benutzen: --enable-cli-win32.

> Welche SAPI habe ich?: Auf der Kommandozeile wird Ihnen die Eingabe von php -v verraten, ob Sie php als CGI oder CLI einsetzen. Sehen Sie sich auch die Funktion php_sapi_name() und die Konstante `PHP_SAPI` an.

> Anmerkung: Eine UNIX manual page wurde in PHP 4.3.2 hinzugefügt. Sie können sie ansehen, indem sie man php auf der Kommandozeile eintippen.

Beachtenswerte Unterschiede des CLI SAPI verglichen mit anderen SAPIs:

- Anders als beim CGI SAPI werden keine Header ausgegeben.

  Obwohl das CGI SAPI einen Weg bietet, HTTP-Header zu unterdrücken, gibt es keine gleichwertige Option, sie im CLI SAPI anzuzeigen.

  CLI wird standardmäßig im stillen Modus gestartet, dennoch gibt es die Optionen -q und --no-header aus Kompatibilitätsgründen noch, so dass Sie auch ältere CGI-Skripte noch benutzen können.

  Es verändert das Arbeitsverzeichnis nicht zu dem des Skriptes. (Die Optionen -C und --no-chdir wurden aus Kompatibilitätsgründen beibehalten.)

  Fehlermeldungen in Plaintext (keine HTML-Formatierung).

- Es gibt bestimmte `php.ini`-Direktiven, die vom CLI SAPI außer Kraft gesetzt werden, weil sie in einer Kommandozeilenumgebung keinen Sinn ergeben.

  Tabelle 39-1. Überschriebene `php.ini`-Direktiven

  Direktive | CLI SAPI-Standardwert | Kommentar
  --- | --- | ---
  html_errors | `FALSE` | Es kann sehr schwierig sein, eine Fehlermeldung auf der Kommandozeile zu lesen, wenn sie mit all diesen bedeutungslosen HTML-Tags vollgestopft ist, deswegen wird diese Direktive auf `FALSE` gesetzt.
  implicit_flush | `TRUE` | Es ist erwünscht, dass alle Ausgaben, die von print(), echo() und Konsorten kommen, sofort auf die Ausgabe geschrieben werden und nicht in irgendeinem Puffer gecacht werden. Sie können immer noch output buffering benutzen, wenn Sie die Standardausgabe aufschieben oder manipulieren wollen.
  max_execution_time | 0 (unlimited) | Wegen der unendlichen Möglichkeiten, PHP in Kommandozeilenumgebungen zu benutzen wurde die maximale Ausführungszeit auf unbegrenzte Zeit eingestellt. Wohingegen Anwendungen, die für das Web geschrieben wurden, oft in sehr kurzer Zeit ausgeführt werden, neigen Anwendungen für die Kommandozeile dazu, eine viel längere Ausführungszeit zu beanspruchen.

  register_argc_argv

  `TRUE`

  Weil diese Einstellung auf `TRUE` gesetzt ist, werden Sie immer Zugriff auf argc (Anzahl der Argumente, die der Anwendung übergeben wurden) und argv (Array der eigentlichen Argumente) im CLI SAPI haben.

  Seit PHP 4.3.0 werden die PHP-Variablen $argc und $argv registriert und mit den entsprechenden Werten gefüllt, wenn das CLI SAPI benutzt wird. Vor dieser Version verhielt sich die Erzeugung dieser Variablen so wie in den CGI und MODULE-Versionen, die die PHP-Direktive register_globals auf on verlangen. Ungeachtet der Version oder der Einstellung von register_globals können Sie immer $_SERVER oder $HTTP_SERVER_VARS benutzen. Beispiel: $_SERVER['argv']

  > Anmerkung: Diese Direktiven können nicht mit einem anderen Wert aus der Konfigurationsdatei `php.ini` oder einer eigenen (falls angegeben) initialisiert werden. Das ist eine Einschränkung, weil diese Standardwerte angewandt werden, nachdem alle Konfigurationsdateien durchlaufen wurden. Dennoch können die Werte zur Laufzeit verändert werden (was aber für alle diese Direktiven keinen Sinn ergibt, beispielsweise register_argc_argv).

- Um die Arbeit in der Kommandozeilenumgebung zu vereinfachen, wurden folgende Konstanten definiert:

  Tabelle 39-2. CLI-spezifische Konstanten

  Konstante | Beschreibung
  --- | ---

  `STDIN`

  Ein schon geöffneter Stream auf stdin. Das erspart das öffnen mit

  `<?php $stdin = fopen('php://stdin', 'r'); ?>`

  `STDOUT`

  Ein schon geöffneter Stream auf stdout. Das erspart das öffnen mit

  `<?php $stdout = fopen('php://stdout', 'w'); ?>`

  `STDERR`

  Ein schon geöffneter Stream auf stderr. Das erspart das öffnen mit

  `<?php $stderr = fopen('php://stderr', 'w'); ?>`

  Angesichts des oben genannten brauchen Sie beispielsweise nicht selbst einen Stream für stderr öffnen, sondern einfach die Konstante statt der Ressource:

      php -r 'fwrite(STDERR, "stderr\n");'

  Sie brauchen diese Ressourcen nicht explizit schliessen, weil sie automatisch von PHP geschlossen werden, wenn ihr Skript endet.

- Das CLI SAPI ändert das aktuelle Verzeichnis nicht auf das Verzeichnis des ausgeführten Skriptes!

  Ein Beispiel, das den Unterschied zum CGI SAPI zeigt:

  `<?php // Our simple test application named test.php echo getcwd(), "\n"; ?>`

  Bei der CGI-Version ist die Ausgabe folgende:

      $ pwd
      /tmp

      $ php -q another_directory/test.php
      /tmp/another_directory

  Dies zeigt deutlich, dass PHP das aktuelle Verzeichnis auf das des asugeführten Skriptes ändert.

  Benutzen der CLI SAPI-Version ergibt:

      $ pwd
      /tmp

      $ php -f another_directory/test.php
      /tmp

  Dies erlaubt eine größere Anpassungsfähigkeit beim Schreiben von Kommandozeilenanwendungen in PHP.

  > Anmerkung: Das CGI SAPI unterstützt das Verhalten des CLI SAPI anhand der Option -C, wenn es auf der Kommandozeile gestartet wird.

Die Liste der Kommandozeilenoptionen, die das PHP-Binary bereitstellt, können jederzeit abgerufen werden, wenn man PHP mit der Option -h startet:

    Usage: php [options] [-f] <file> [args...]
           php [options] -r <code> [args...]
           php [options] [-- args...]
      -s               Display colour syntax highlighted source.
      -w               Display source with stripped comments and whitespace.
      -f <file>        Parse <file>.
      -v               Version number
      -c <path>|<file> Look for php.ini file in this directory
      -a               Run interactively
      -d foo[=bar]     Define INI entry foo with value 'bar'
      -e               Generate extended information for debugger/profiler
      -z <file>        Load Zend extension <file>.
      -l               Syntax check only (lint)
      -m               Show compiled in modules
      -i               PHP information
      -r <code>        Run PHP <code> without using script tags <?..?>
      -h               This help

      args...          Arguments passed to script. Use -- args when first argument
                       starts with - or script is read from stdin

Beim CLI SAPI gibt es drei verschiedene Möglichkeiten, den zur Ausführung bestimmten PHP-Code zu übergeben:

1. PHP mitteilen, eine bestimmte Datei auszuführen.

       php my_script.php

       php -f my_script.php

   Beide Arten (ob sie die Option -f benutzen oder nicht) führen die Datei `my_script.php` aus. Sie können eine beliebige Datei ausführen - Ihr PHP-Skript muss nicht die Dateiendung `.php` haben, sie kann einen beliebigen Namen und eine beliebige Endung haben.

2. Den PHP-Code, der ausgeführt werden soll, direkt auf der Kommandozeile übergeben.

       php -r 'print_r(get_defined_constants());'

   Bezüglich Ersetzung von Kommandozeilenvariablen und Benutzung von Quotes muss besondere Vorsicht getroffen werden.

   > Anmerkung: Betrachten Sie das Beispiel sorgfältig, es sind keine Start- oder Endtags gesetzt. Die Option -r benötigt sie nicht. Werden sie dennoch verwendet, kommt es zu einem Parser-Fehler.

3. Stellen Sie den PHP-Code, der ausgeführt werden soll über den Standard-Input (stdin) bereit.

   Dies eröffnet die leistungsfähige Möglichkeit, PHP-Code dynamisch zu generieren und ihn dem PHP-Binary zu übergeben, wie in diesem möglichem Beispiel:

       $ some_application | some_filter | php | sort -u >final_output.txt

Sie können diese drei Möglichkeiten zur Ausführung nicht kombinieren.

Wie jede Kommandozeilenanwendung nimmt das PHP-Binary etliche Argumente entegegen, aber auch ein PHP-Skript kann Argumente entgegennehmen. Die Anzahl der Argumente, die an ein Skript übergeben werden können, ist nicht von PHP beschränkt (aber die Kommandozeilenumgebung hat ein bestimmtes Grössenlimit für die Anzahl der Argumente, die übergeben werden können; normalerweise werden Sie dieses Limit nicht erreichen). Die Argumente, die dem Skript übergeben werden, sind in dem globalen Array $argv gespeichert. Der Null-Index enthält immer den Skriptnamen (das bedeutet -, wenn der PHP-Code entweder von der Standardeingabe oder von der Kommandozeilenoption -r kommt). Die zweite registrierte globale Variable ist $argc, die die Anzahl der Elemente im Array $argv enthält (nicht die Anzahl Argumente, die dem Skript übergeben wurden).

Solange die Argumente, die Sie dem Skript übergeben möchten, nicht mit dem Zeichen - beginnen, gibt es nichts besonderes zu beachten. Ein Argument, das mit - beginnt zu übergeben, wird Probleme bereiten, weil PHP selbst denkt, dass sie verarbeitet werden muss. Benutzen Sie das Argument-Trennzeichen -- um das zu vermeiden. Nachdem dieses Trennzeichen von PHP geparst wurde, wird jedes folgende Argument unangetastet an das Skript weitergereicht.

    # This will not execute the given code but will show the PHP usage
    $ php -r 'var_dump($argv);' -h
    Usage: php [options] [-f] <file> [args...]
    [...]

    # This will pass the '-h' argument to your script and prevent PHP from showing it's usage
    $ php -r 'var_dump($argv);' -- -h
    array(2) {
      [0]=>
      string(1) "-"
      [1]=>
      string(2) "-h"
    }

Dennoch gibt es einen anderen Weg, um PHP für Kommandozeilenskripte zu benutzen. Sie können ein Skript erstellen, in dem die erste Zeile mit #!/usr/bin/php beginnt. Nachfolgend können Sie normalen PHP-Code innerhalb der PHP-Start- und -End-Tags setzen. Sobald Sie die Datei ausführbar gemacht haben (beispielsweise chmod +x test), kann Ihr Skript wie ein normales Kommandozeilen- oder Perlskript gestartet werden.

`#!/usr/bin/php <?php var_dump($argv); ?>`

Angenommen, die Datei heisst `test` und befindet sich im aktuellen Verzeichnis, dann können wir nun folgendes tun:

    $ chmod 755 test
    $ ./test -h -- foo
    array(4) {
      [0]=>
      string(6) "./test"
      [1]=>
      string(2) "-h"
      [2]=>
      string(2) "--"
      [3]=>
      string(3) "foo"
    }

Wie Sie sehen können, müssen Sie sich in diesem Fall um nichts weiter kümmern, wenn Sie Ihrem Skript Paramater, die mit - beginnen, übergeben.

Die Langformen der Optionen sind seit PHP 4.3.3 verfügbar.

Tabelle 39-3. Kommandozeilenoption

Option | Langform | Beschreibung
--- | --- | ---

-s

--syntax-highlight

Den Quelltext mit farbiger Syntaxhervorhebung anzeigen.

Diese Option benutzt den internen Mechanismus zum Analysieren der Datei, generiert eine HTML-Version mit Syntax-Highlighting davon, und schreibt sie auf die Standardausgabe. Beachten Sie, dass sie nur einen Block von <code> [...] </code>-HTML-Tags erzeugt, keine HTML-Header.

> Anmerkung: Diese Option funktioniert nicht zusammen mit -r.

-s | --syntax-highlighting | Ein Alias für --syntax-highlight.

-w

--strip

Den Quelltext mit entfernten Kommentaren und Leerzeichen anzeigen.

> Anmerkung: Diese Option funktioniert nicht zusammen mit -r.

-f | --file | Parst und führt die angegebene Datei aus. Diese Option ist nicht verbindlich und kann weggelassen werden. Alleinige Angabe des Dateinamens ist ausreichend.

-v

--version

Schreibt die PHP, PHP SAPI und Zend-Version auf die Standardausgabe. Zum Beispiel:

    $ php -v
    PHP 4.3.0 (cli), Copyright (c) 1997-2002 The PHP Group
    Zend Engine v1.3.0, Copyright (c) 1998-2002 Zend Technologies

-c

--php-ini

Mit dieser Option kann man entweder ein Verzichnis angeben, wo nach `php.ini` gesucht werden soll, oder man kann eine eigene INI-Datei direkt angeben (diese muss nicht `php.ini` heissen). Zum Beispiel:

    $ php -c /custom/directory/ my_script.php

    $ php -c /custom/directory/custom-file.ini my_script.php

-n | --no-php-ini | php.ini komplett ignorieren. Diese Option gibt es seit PHP 4.3.0.

-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 (Die Zeilen sind aus layouttechnischen Gründen umgebrochen):

    # Omitting the value part will set the given configuration directive to "1"
    $ php -d max_execution_time
            -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
    string(1) "1"

    # Passing an empty value part will set the configuration directive to ""
    php -d max_execution_time=
            -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
    string(0) ""

    # The configuration directive will be set to anything passed after the '=' character
    $  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"

-a | --interactive | PHP interaktiv starten.
-e | --profile-info | Erweiterte Informationen für Debugger/Profiler erstellen.

-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 benutzt. Ein relativer Dateiname mit Pfadinformationen wird PHP nur veranlassen, zu versuchen, die Erweiterung in einem Pfad relativ zum aktuellen Verzeichnis zu laden.

-l

--syntax-check

Diese Option stellt eine angenehme Methode bereit, nur eine Syntaxüberprüfung auf den angegebenen PHP-Code durchzuführen. Bei Erfolg wird der Text No syntax errors detected in <filename> auf die Standardausgabe geschrieben und der Rückgabewert ist 0. Bei Misserfolg wird der Text Errors parsing <filename> zusätzlich zur internen Parser-Fehlermeldung auf der Standardausgabe ausgegeben und der Rückgabewert auf 255 gesetzt.

Diese Option wird keine Fatalen Fehler (wie undefinierte Funktionen) finden. Benutzen Sie die Option -f, wenn sie auch diese überprüfen wollen.

> Anmerkung: Diese Option funktioniert nicht zusammen mit -r.

-m

--modules

Wird diese Option benutzt, gibt PHP die eingebauten (und geladenen) PHP- und Zend-Module aus:

    $ php -m
    [PHP Modules]
    xml
    tokenizer
    standard
    session
    posix
    pcre
    overload
    mysql
    mbstring
    ctype

    [Zend Modules]

-i | --info | Diese Kommandozeilenoption ruft phpinfo() auf und gibt das Ergebnis aus. Wenn PHP nicht korrekt funktioniert, ist es ratsam, php -i zu benutzen und nachzusehen, ob etwa Fehlermeldungen vor oder statt der Informationstabellen ausgegeben werden. Beachten Sie, dass die Ausgabe in HTML erfolgt und deswegen ziemlich umfangreich ist.

-r

--run

Diese Option erlaubt die Ausführung von PHP direkt aus der Kommandozeile. Die PHP-Start- und -End-Tags (<?php and ?>) werden nicht benötigt und verursachen Parserfehler, wenn sie dennoch vorhanden sind.

> Anmerkung: Man muss bei Benutzung dieser Form von PHP aufpassen, dass es zu keinen Kollisionen mit Kommandozeilenvariablen kommt.

> Dieses Beispiel zeigt einen Parserfehler:

>     $ php -r "$foo = get_defined_constants();"
>     Command line code(1) : Parse error - parse error, unexpected '='

> Das Problem hier ist, dass die sh/bash Variablen auch ersetzt, wenn doppelte Anführungszeichen benutzt werden ("). Weil die Variable $foo wahrscheinlich nicht definiert ist, passiert nichts. Der tatsächliche Code, der an PHP übergeben wird, sieht so aus:

>     $ php -r " = get_defined_constants();"

> Der korrekte Weg wäre, einfache Anführungszeichen zu benutzen ('). Variablen in einfachen Anführungszeichen werden von sh/bash nicht ersetzt.

>     $ 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 Sie eine andere Kommandozeilenumgebung als sh/bash benutzen, könnten Sie auf weitere Probleme stossen. Sie können gerne einen Bugreport anmelden oder eine Email an phpdoc@lists.php.net schreiben. Man kann dennoch leicht in Schwierigkeiten kommen, wenn man versucht, Kommandozeilenvariablen zu verwenden oder mit Backslashes zu escapen. Sie wurden gewarnt.

> Anmerkung: -r ist nur im CLI-SAPI verfügbar und nicht im CGI-SAPI

-h | --help | Mit dieser Option bekommen Sie Informationen über die tatsächlichen Kommandozeilenoptionen und kurze Beschreibungen dazu.
-? | --usage | Ein Alias für --help.

Die ausführbare PHP-Version kann benutzt werden, um PHP-Skripte vollkommen unabhängig von einem Webserver auszuführen. Wenn Sie auf einem UNIX-System arbeiten, sollten Sie Ihrem Skript eine spezielle erste Zeile hinzufügen und es ausführbar machen, so dass das System erkennt, welches Programm das Skript ausführen soll. Auf einem Windows-System können Sie php.exe mit der Doppelklick-Option von .php-Dateien verknüpfen. Sie können auch eine Batchdatei erzeugen, um das Skript von PHP ausführen zu lassen. Die erste Zeile, die dem Skript hinzugefügt wird, damit es unter UNIX läuft, stört unter Windows nicht, so dass Sie auf diese Weise problemlos plattformübergreifende Programme schreiben können. Sie finden anschließend ein einfaches Beispiel, wie man ein Kommandozeilenprogramm in PHP schreibt.

Beispiel 39-1. Ein Skript, das von der Kommandozeile aus ausgeführt werden soll (script.php)

`#!/usr/bin/php <?php if ($argc != 2 || in_array($argv[1], array('--help', '-help', '-h', '-?'))) { ?> This is a command line PHP script with one option. Usage: <?php echo $argv[0]; ?> <option> <option> can be some word you would like to print out. With the --help, -help, -h, or -? options, you can get this help. <?php } else { echo $argv[1]; } ?>`

In dem oben beschriebenen Skript haben wir die erste Zeile dazu benutzt, anzugeben, dass die Datei von PHP ausgeführt werden soll. Wir arbeiten hier mit einer CLI-version, deswegen werden keine HTTP-Header ausgegeben. Es gibt zwei Variablen, die Sie in Kommandozeilen-Applikationen mit PHP benutzen können: $argc und $argv. Die erste ist die Anzahl der Argumente plus Eins (dem Namen des laufenden Skripts). Die zweite ist ein Array, das die Argumente enthält, beginnend mit dem Skriptnamen als Nummer Null ($argv[0]).

In dem oben genannten Programm haben wir überprüft, ob es weniger oder mehr als zwei Argumente gibt. Falls das Argument --help, -help, -h oder -? war, haben wir die Hilfe-Nachricht mit dem dynamisch übergebenen Skriptnamen ausgegeben. Wenn wir ein anderes Argument erhalten haben, haben wir es ausgegeben.

Wenn Sie das oben genannte Skript unter UNIX laufen lassen wollen, müssen Sie es zuerst ausführbar machen, und es danach einfach als script.php echothis oder script.php -h aufrufen. Unter Windows können Sie zu diesem Zweck eine Batchdatei erstellen:

Beispiel 39-2. Batchdatei zur Ausführung eines Kommandozeilen-Skripts in PHP (script.bat)

    @c:\php\cli\php.exe script.php %1 %2 %3 %4

Angenommen, Sie haben das Programm `script.php` genannt und die CLI-`php.exe` hat den Pfad `c:\php\cli\php.exe`, wird diese Batchdatei es mit den von Ihnen übergebnen Optionen script.bat echothis oder script.bat -h ausführen.

Sehen Sie sich auch die zusätzlichen Funktionen in der Dokumentation der Readline-Extension an, um Ihre in PHP geschriebenen Kommandozeilenanwendungen weiterzuentwickeln.

Zurück | Zum Anfang | Weiter
Safe Mode | Nach oben | Funktionsreferenz