web-dev-qa-db-ja.com

PHP CLIをDebian Wheezyにインタラクティブなプロンプトを使用してインストールするにはどうすればよいですか?

Debian Wheezy(現在テスト中)にphp5-cliをインストールすると、readlineサポートが不足しているため、インタラクティブプロンプトが非常に使用できなくなります(バグ 41868 )。 libreadlineにリンクされたバージョンをインストールする最も簡単な方法は何ですか(使用可能なライン編集用)?

10

Dotdeb Debian安定版パッケージを使用します。ドキュメントにはこれは記載されていませんが、安定版パッケージは現在Wheezy/testingで正常に動作しています。指示に従った後、以下を実行します。

apt-get install php5-cli

ルートとして。

10

dotdeb からphp5-cliをインストールした後、php5-readlineパッケージをインストールします。

apt-get install php5-readline
6
cmc

完全なPHPパッケージを再コンパイルすることを提案するGillesの回答への追加として、PHP 5.4を待つこともできます。5.4では、すべての必要なパーツはreadlineモジュールに含まれているため、スタンドアロンで構築できます。

$ wget ...php-5.4.0.tar.bz2
$ tar xjf php-5.4.0.tar.bz2
$ cd php-5.4.0/ext/readline
$ phpize && ./configure && make

その後、php.iniからロードできるmodules/readline.soが作成されます(make installextension_dirに移動します)

あるいは、ディストリビューターがreadlineモジュール(おそらくreadlineではなくlibeditにリンクされている)を出荷し、対話モードが利用可能になります。

これは今のところ(PHP 5.4。はまだ出ていないので)助けにはなりませんが、後で他の人がこの質問を見つけるのを助けるかもしれません。

私のブログの詳細: http://schlueters.de/blog/archives/133-Now-in-trunk-Improved-interactive-Shell.html

編集:実際のブログ投稿はこの変更よりも古いですが、それでも興味深いかもしれません。バグレポートには少し情報があります #53878 どちらでもありません...リリース後 http://php.net/commandline.interactive はもっとあるはずです。

4
johannes

これを試してください:

$ php -a
Interactive mode enabled

<?php echo "hi!"; ?>

Ctrl-dを押す

3
RoboTamer

Ubuntuユーザーの場合、php5-readlineは、使用可能なphpコマンドプロンプトを表示するためにインストールする必要がある追加のパッケージです。

Sudo apt-get install php5-cli php5-readline
Sudo php5enmod readline

私は自分のUbuntu 14.04でこれを行わなければなりませんでした。

3
Wouter Thielen

インストール rlwrap を実行し、rlwrap php5を実行します。 Rlwrapは汎用のreadlineラッパーであり、コマンドラインエディションと、任意のread-eval-printループの履歴を提供します。これは汎用のラッパーなので、PHP固有の補完はありません。

または、ソースパッケージを取得し、readlineサポートを使用して再ビルドします。 readlineサポートは ライセンスの問題 のために省略されましたが、これらの問題はreadlineにリンクされたPHP5の配布を禁止するだけであり、使用を禁止するものではありません。

apt-get source php5-cli
apt-get install build-essential fakeroot
apt-get build-dep php5-cli
cd php5-*/
# Edit debian/rules to configure with readline support
# Add an entry to debian/changelog to remember what you did
dpkg-buildpackage -rfakeroot -us -uc -b -nc

Debian jessieおよびdebian sidでは、次のように使用します。

Sudo apt-get install php5 php5-readline

その後

php -a
Interactive mode enabled

php > echo 1+2;
3
php >
1
Ortomala Lokni

これらはどれも私にとってはうまくいきませんでした。代わりに http://www.phpsh.org/ を使用してください。

1
Martin Konecny