Ich versuche, PHP im interaktiven Modus aus dem Terminal-Fenster zu starten und wenn ich den Befehl
ausführen %Vor%es sagt "Interaktiver Modus aktiviert" aber zeigt mir nicht die "php- & gt;" Aufforderung, dass es sollte. Ich muss die Steuerung 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 repariert
?Die interaktive PHP-Shell erfordert, dass GNU readline oder libedit statisch in die PHP-Binärdatei kompiliert wird. Viele Distributionen bieten nur gemeinsam genutzte Bibliotheken, die nur die readline-Erweiterung enthalten.
Wenn Sie PHP selbst kompilieren tun
%Vor%oder
%Vor%(Beachten Sie, dass Sie PHP-Binärdateien, die mit readline verlinkt sind, aufgrund von Inkompatibilitäten zwischen GPL und der PHP-Lizenz wahrscheinlich nicht weiterverbreiten, Sie müssten dann libedit verwenden, aber ich bezweifle, dass Sie PHP selbst weiterverbreiten möchten Sicherlich ok, für Ihre PHP-Basisanwendungen ist das egal, aber das ist einer der Gründe, warum das bei den meisten Distributionen nicht funktioniert ...)
Edit: Ich habe gerade einen PHP-Bug eingereicht, um den Readline-Modus mit einem Shared-Build zu aktivieren, vielleicht finde ich Zeit, ihn zu implementieren: Ссылка
Es gibt eine andere ausgezeichnete Lösung (erstellt von Facebook btw) phpsh
In ihren eigenen Worten:
phpsh ist eine interaktive Shell für PHP, die readline history, tab completion, schnellen Zugriff auf die Dokumentation bietet. Es wurde auf Facebook entwickelt und ironischerweise hauptsächlich in Python geschrieben. Es ist Open Source und wird unter einer modifizierten BSD-Lizenz veröffentlicht.
Ich benutze es für eine Weile und es ist wirklich gut, in vielerlei Hinsicht sogar besser als nur php -a
Tags und Links php macos terminal interactive-mode