Verwendung der PHP-Befehlszeile

  • Erforderliche Kenntnisse: Grundlegendes PHP
  • Benötigt: PHP
  • Projektzeit: Ca. 10 Minuten

Die Verwendung von PHP über die Befehlszeile ermöglicht es uns, unsere PHP-Kenntnisse in einer ganz neuen Welt einzusetzen. Sie können einzelne PHP-Skripte ausführen und PHP auch ad-hoc ausführen, während Sie es eingeben. Es gibt Tools, mit denen Sie die Version und Konfiguration von PHP überprüfen und Informationen zu Funktionen, Erweiterungen usw. abrufen können - ideal, um sich in einem Flugzeug zu erinnern, ob Nadel oder Heuhaufen an erster Stelle stehen! Werfen wir einen Blick darauf, was wir mit diesem Tool tun können.

  • Lesen Sie alle unsere Webdesign-Artikel Hier

PHP-Version und Konfiguration

Hier ist ein guter Anfang: Finden Sie die Version von PHP, mit der Sie PHP ausführen -v ::

php -v
& schüchtern; PHP 5.3.5-1ubuntu7.2 mit Suhosin-Patch (cli) (erstellt: 2. Mai 2011, 23:18:30 Uhr)
Copyright (c) 1997-2009 Die PHP-Gruppe
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies



Sie können sehen, dass ich PHP 5.3.5 verwende - und es gibt dort Informationen über den spezifischen Build (dieser Computer hat die Standardversion aus Ubuntus Repositorys, einschließlich Suhosin). Dies ist sehr praktisch, um schnell zu überprüfen, was verfügbar ist.

Andere großartige Schalter, um sich über das aktuelle Setup zu informieren, sind -m und -ich (obwohl beide ziemlich viel Output liefern, werde ich hier keine Beispiele einfügen). Das -m bietet eine vollständige Liste der verfügbaren Module, mit deren Hilfe Sie überprüfen können, ob eine bestimmte Erweiterung verfügbar ist. Das -ich Option gibt Informationen über die Konfiguration und viele davon. Es ist ähnlich wie bei der Ausgabe von phpinfo () , die Sie möglicherweise auf einer Webseite verwenden, um Ihr Setup zu überprüfen.

Bevor wir weitermachen, sollten Sie sich eines anderen Favoriten bewusst sein: php --ini Hier wird angezeigt, welche INI-Dateien geladen wurden, und es kann ermittelt werden, woher die Einstellungen stammen.

PHP-Befehlszeile

Ausführen von PHP über die Befehlszeile

Die einfachste Möglichkeit, die PHP-Befehlszeile zu verwenden, besteht darin, ein vorhandenes PHP-Skript darauf auszuführen. Es gibt einige Dinge, die anders sind, zum Beispiel die $ _SERVER Variable enthält einige verschiedene Optionen, die für die Plattform geeignet sind, aber ansonsten funktioniert alles wie erwartet. Nehmen Sie dieses einfache Beispiel:

echo 'Hallo Welt! n';

Wir nehmen das -f Wechseln Sie, um einen Dateinamen an PHP zu übergeben:

$ php -f hallo-world.php
Hallo Welt!

Ich verwende das -f Wechseln Sie viel für alle Arten von Dingen, bei denen ich wirklich keinen Webbrowser brauche. Ich schreibe viel über PHP und unterrichte es auch ziemlich regelmäßig. Wenn ich Beispiele entwickle, um eine bestimmte Sprachfunktion oder -technik zu demonstrieren, geschieht dies normalerweise alles über die Befehlszeile. Für Jobs, die monatliche Aufgaben ausführen oder Tabellen mit alten Daten bereinigen, schreibe ich PHP-Skripte und feuere sie mit cron ab. Nicht wenige PHP-Frameworks können auch über die Befehlszeile gebootet werden, was sehr gut funktioniert.

Sie können auch PHP ausführen, während Sie kleine Schnipsel überprüfen. Schauen Sie sich zunächst dieses triviale Beispiel mit an -r So können wir PHP-Code eingeben und sofort ausführen:

$ php -r '
>
> $ a = Bereich (0,2);
> foreach ($ a als $ b) {
> echo 'entry: $ b n';
>}
> '
Eintrag: 0
Eintrag: 1
Eintrag: 2

Für noch unmittelbareres Feedback können Sie ausführen php -a um einen vollständigen interaktiven Modus zu erhalten. Dadurch wird jede von Ihnen eingegebene Zeile buchstäblich ausgewertet und ausgegeben. Sie können jedoch weiterhin verschachtelte Strukturen verwenden. Diese werden ausgeführt, wenn Sie die geschweifte Klammer am Ende schließen.

Das Ausführen von PHP über die Befehlszeile mag zunächst seltsam erscheinen, funktioniert dort jedoch einwandfrei, sodass Sie Skripte in PHP schreiben können, für die Sie möglicherweise Bash lernen müssen. In der Befehlszeile hat die Konfigurationsdatei von PHP standardmäßig Folgendes html_errors deaktiviert, damit die Fehler ohne das HTML-Markup angezeigt werden, das Sie möglicherweise in einem Browser sehen (und noch besser, Xdebug beobachtet auch diese Einstellung).

Überprüfen und Markieren von PHP

PHP kann eine einfache Syntaxprüfung durchführen, ohne den Code tatsächlich auszuführen. Dadurch können lediglich die Fehlermeldungen 'Unerwartetes Token ...' angezeigt werden, die angezeigt werden, wenn Ihre Datei eine falsche Syntax enthält. Dies nutzt die -l Schalter:

$ php -l hallo-world.php
In hello-world.php wurden keine Syntaxfehler festgestellt

Dies ist eine schnelle und einfache Sache, die Sie Ihren Build-Skripten hinzufügen können, nur als zusätzliche Überprüfung, um diese Arten von Fehlern zu erkennen, bevor sie auf Ihre Live-Plattform gelangen (natürlich testen wir alle unseren Code, aber es kommt zu Pannen!).

Eine weitere wenig bekannte Funktion ist die Syntaxhervorhebungsfunktion. Sie gibt ein wenig HTML-Markup aus, das den Code enthält, genau wie Sie es im PHP-Handbuch selbst sehen. Folgendes passiert, wenn ich auf meine Datei hello-world.php zeige:

$ php -s hallo-world.php


echo 'Hello world! ';




Als HTML sehen wir:

PHP-Befehlszeile

Funktionen zur Befehlszeilendokumentation

Seit PHP 5.1.2 haben wir einige zusätzliche Optionen, mit denen Reflection verwendet wird, um Funktionen, Klassen und Erweiterungen über die Befehlszeile zu überprüfen. Dies ist großartig, wenn Sie aus irgendeinem Grund keinen Zugriff auf das Online-Handbuch haben. Zum Beispiel können wir die Argumentreihenfolge nachschlagen str_replace () so was:

$ php --rf str_replace
Funktion [Funktion str_replace] {

- Parameter [4] {
Parameter # 0 [$ search]
Parameter # 1 [$ replace]
Parameter # 2 [$ subject]
Parameter # 3 [& $ replace_count]
}}
}}

Ich kann leicht erkennen, in welcher Reihenfolge die drei Hauptparameter verwendet werden sollen, und es wird auch ein optionales Argument angezeigt, das erfassen kann, wie oft ein Ersatz vorgenommen wurde. Diese Dokumentation steht für Funktionen zur Verfügung --rf , für Klassen mit --rc , für Erweiterungen mit --Re Sie können auch die Konfigurationsoptionen für eine bestimmte Erweiterung mithilfe von abrufen --ri .

Alles in allem gibt es eine Vielzahl von Funktionen in Kommandozeilen-PHP, und ich hoffe, dies hat Ihnen eine gute Vorstellung davon gegeben, was verfügbar ist, damit Sie diese in Zukunft verwenden können, wenn Sie sie benötigen.

Lorna ist ein unabhängiger Berater, Trainer und Autor für Webentwicklung mit Sitz in Leeds, Großbritannien. Sie ist PHP-Spezialistin und arbeitet mit Teams zusammen, um das Beste aus ihren Anwendungen, Tools und Mitarbeitern herauszuholen. Lorna ist regelmäßige Konferenzrednerin und leitende Entwicklerin beim Open Source-Projekt Joind.in.

Mochte dies? Lese das!