当我在 Debian Wheezy 上安装 php5-cli(当前正在测试)时,由于缺少 readline 支持(bug341868)。安装与 libreadline 链接的版本(用于可用的行编辑)的最简单方法是什么?
答案1
使用多特德布Debian 稳定包。尽管文档没有指出这一点,但稳定包目前可以与 Wheezy/testing 配合使用。按照说明操作后,执行以下操作:
apt-get install php5-cli
作为根。
答案2
安装 php5-cli 后点德布,安装 php5-readline 包。
apt-get install php5-readline
答案3
作为 Gilles 答案的补充,Gilles 建议重新编译完整的 PHP 包,您也可以等待 PHP 5.4。在 5.4 中,我重构了 readline 功能,所有必需的部分都在 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
然后你将得到一个modules/readline.so
可以从 php.ini 加载的文件(make install
将其移动到extension_dir
)
或者,发行商可以提供 readline 模块(可能链接到 libedit,而不是 readline),并且交互模式将可用。
这一切现在对您没有帮助(因为 PHP 5.4 尚未发布),但可能会帮助其他人稍后找到这个问题。
我的博客上有更多详细信息:http://schlueters.de/blog/archives/133-Now-in-trunk-Improved-interactive-shell.html
编辑:实际上该博客文章比此更改更旧,但可能仍然很有趣。错误报告中有一些信息#53878但也没有太多......释放后http://php.net/commandline.interactive应该有更多。
答案4
尝试这个:
$ php -a
Interactive mode enabled
<?php echo "hi!"; ?>
按 Ctrl-d