PHP 5.4 interaktiver Modus unter Ubuntu 12.04

6

Ich bin ein großer Fan des interaktiven PHP-Modus ( php -a). Heute habe ich beschlossen, PHP 5.4 zu installieren, um ein bisschen herumzuspielen. Es macht Spaß, den neuen eingebauten Server und all das zu verwenden, aber ich war sehr traurig, als ich feststellte, dass der interaktive Modus nicht funktioniert.

Ich habe PHP 5.4 auf meinem Ubuntu installiert, indem ich die PPA hinzugefügt habe:

add-apt-repository ppa:ondrej/php5
apt-get update
apt-get install php5

Und das bekomme ich, wenn ich renne php -a:

$ php -a
Interactive mode enabled

Aaaaund nichts mehr. Soweit ich weiß, folgt diese PPA dem neuesten PHP5, das vom Debian PKG PHP Team gepflegt wird, und soweit ich weiß, ist der interaktive Modus normalerweise auch bei frisch installierten Debians defekt.

Irgendwelche Ideen, wie man es zurückbekommt? Verwenden Sie vorzugsweise ein anderes PPA oder zumindest ohne Kompilieren - das ist normalerweise weniger schmerzhaft.

s3v3n
quelle
Nun, für den Moment werde ich bei phpsh bleiben
s3v3n
1
Ich nehme an, dies hat mit Debian-Links zu tun, libreadlineanstatt mit libeditLizenzproblemen. Siehe Debian-Fehler # 576218 .
Gertvdijk
Ja, ich habe etwas davon gehört.
Ich
Übrigens ist es umgekehrt. libreadline ist unter GPL lizenziert und ist im Grunde mit nichts anderem als GPL kompatibel, daher muss PHP mit libedit kompiliert werden (und es gab einen Fehler in libedit ...)
oerdnj

Antworten:

10

Mein PPA (ppa: ondrej / php5) wurde als exakte Kopie des Debian php5-Quellpakets erstellt. Es gab ein Problem, dass Debians libedit nicht den erforderlichen Patch für den interaktiven Modus enthielt (zumindest dachte ich das, weil der Fehler in libedit nicht geschlossen war). Ich habe gerade festgestellt, dass dieses Problem bereits in libedit (2.11-20080614-4) behoben wurde, aber der Fehler wurde nicht richtig geschlossen.

Wie auch immer, die gute Nachricht ist, dass ich, da dieser Fehler in libedit bereits in Debian behoben wurde, php5 mit libedit neu erstellen werde und es von php5> = 5.4.12-2 (~ dist + 1) enthalten sein wird.

[Bearbeiten]: Dank Andreas Pour, der mich angestachelt hat, dass es jetzt gebaut und verpackt werden kann, gibt es jetzt auch ein PHP5-Readline-Modul.

oerdnj
quelle
1
JFTR Es gab ein Problem beim Backportieren von libedit nach lucid, daher dauerte es eine Weile, bis ich die Grundursache für die Verbindungsfehler ermitteln konnte. Jedenfalls ist dies jetzt gelöst und i386 php5 auf lucid wurde erfolgreich erstellt und amd64 sollte später heute fertig sein.
Oerdnj
8

Ich habe gerade das Problem hier gelöst, vor ein paar Minuten das Readline-Modul für PHP5 installiert:

$ apt-get install php5-readline
$ php -a
php>

Jetzt funktioniert es gut. Ich weiß nichts über Fenster, sorry.

Manuel
quelle
Die Frage war über Linux. Ondřej (@oerdnj) erwähnte bereits readline.
Trotzdem