Frage

Ich versuche, PHP im interaktiven Modus aus dem Terminalfenster auszuführen und wenn ich den Befehl ausführe

  php -a

Es heißt "Interactive Modus aktiviert", zeigt mir jedoch nicht die "Php->" -Anaufforderung, die es sollte. Ich muss Control Z drücken, um den interaktiven Modus zu verlassen, aber ich kann alle Befehle ausführen, während der interaktive Modus "aktiviert" ist.

Weiß jemand, wie man das behebt?

War es hilfreich?

Lösung

Die interaktive PHP -Shell erfordert, dass GNU -Readline oder LIBDIT statisch in die PHP -Binärdatei zusammengestellt werden. Viele Verteilungen bieten nur gemeinsame Bibliotheken, die nur die Readline -Erweiterung enthalten.

Wenn Sie PHP selbst kompilieren

./configure --with-readline

oder

./configure --with-libedit

(Beachten Sie, dass Sie wahrscheinlich nicht mit Readline -Binärdateien aufgrund von Inkompatibilitäten zwischen GPL und der PHP -Lizenz nicht umverteilen. Sie müssten dann Libsity verwenden, aber ich bezweifle, dass Sie PHP selbst sowieso selbst umverteilen möchten. Die Verwendung ist sicherlich in Ordnung. Dies spielt keine Rolle für Ihre PHP-Base-Anwendungen. Dies ist jedoch einer der Gründe, warum dies für die meisten Distributionen nicht funktioniert ...)

Bearbeiten: Ich habe gerade einen PHP -Fehler eingereicht, um den Readline -Modus mit einem gemeinsam genutzten Build zu aktivieren. Vielleicht finde ich Zeit, ihn zu implementieren: http://bugs.php.net/bug.php?id=53878

Andere Tipps

Es gibt eine Lösung (Emulator), die für mich ziemlich gut funktioniert:

http://www.fischerlaender.net/php/phpa-norl

Es gibt eine weitere hervorragende Lösung (erstellt von Facebook übrigens) Phpsh

In ihren eigenen Worten:

PHPSH ist eine interaktive Shell für PHP mit Readline -Verlauf, Registerkartenabschluss und schnellem Zugriff auf Dokumentation. Es wurde bei Facebook entwickelt und ist ironischerweise hauptsächlich in Python geschrieben. Es ist Open Source und unter einer modifizierten BSD -Lizenz veröffentlicht.

Ich benutze es für eine Weile und es ist wirklich gut, in vielerlei Hinsicht sogar noch besser als nur PHP -a

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top