2

Debian Squeezeを実行していて、PHPインタラクティブモードに移行しようとしています。(私は通常のphpインストールパッケージと一緒にphp5-cliをインストールしました)通常、私はphp -a このシステムで実行することによってこれを行います私は通常のphpプロンプトなしで以下を取得します:

インタラクティブモードが有効

どんな助けでも大歓迎です。

4

4 に答える 4

4

残念ながら、これはDebian固有のバグです:#576218

バグレポートからのコメントを要約すると、これに対する簡単な回避策はないようです。ただし、Ubuntuおよびおそらく他のディストリビューションはPHPをに対してビルドするため、このバグの影響を受けませんlibreadline。Debianはを使用しませんが、ライセンスの問題libreadlineが原因です。libedit

于 2012-09-10T13:26:41.587 に答える
1

もう1つの答えは、解決策を見逃しています。

  1. 永続的な環境なしでいくつかの短いコマンドが必要な場合は、

     while read -er line; do php -r "$line"; done
    
  2. libeditの代わりにreadlineにリンクする別のphp(コンパイルまたは他の手段を介して)(phpパッケージに関係する誰かがreadlineのgplをphpに適用することを望まないため、これはdebianでは行われませんでした)、または新しいバージョンのphpを入手してくださいこのバグは修正されています。

于 2014-04-28T20:40:51.503 に答える
0

readlineモジュールは自分でコンパイルできます。DebianWheezyとPHP5.4では、これを実行することでこれを修正できました(rootとしてコマンドを実行します)。

# apt-get install php5-dev libedit-dev libreadline-dev

# mkdir php && cd php
# apt-get source php5-cli
# cd php5-5.4.4/ext/readline
# phpize
# ln -s ../../sapi/
# ./configure
# make
# cp modules/readline.so /usr/lib/php5/<number like 20100525>/
# chmod -x /usr/lib/php5/20100525/readline.so
# echo 'extension=readline.so' > /etc/php5/mods-available/readline.ini
# cd /etc/php5/cli/conf.d
# ln -s ../mods-available/readline.ini 20-readline.ini

これで、PHPコンソールは正常に動作するはずです。

于 2014-05-05T16:22:21.963 に答える
0

私はUbuntu12.04Precise Pangolin(Debian Wheezyに基づく)でこれを解決しました。

sudo apt-get install php5-readline
于 2016-02-05T19:22:41.863 に答える