无法进入PHP交互模式
我正在运行debiansqueak&我正在尝试进入PHP交互模式。(我已经安装了php5 cli和常用的php安装包) 通常我会通过在这个系统上运行无法进入PHP交互模式,php,debian,Php,Debian,我正在运行debiansqueak&我正在尝试进入PHP交互模式。(我已经安装了php5 cli和常用的php安装包) 通常我会通过在这个系统上运行php-a来实现这一点,在没有常见php提示的情况下,我会得到以下结果: 已启用交互模式 非常感谢您的帮助。不幸的是,这是一个特定于Debian的错误: 要总结错误报告中的评论,请执行以下操作: 似乎没有简单的解决办法。然而,Ubuntu和其他发行版可能不会受到这个bug的影响,因为它们是根据libreadline构建PHP的。由于许可问题,Debi
php-a
来实现这一点,在没有常见php提示的情况下,我会得到以下结果:
已启用交互模式
非常感谢您的帮助。不幸的是,这是一个特定于Debian的错误: 要总结错误报告中的评论,请执行以下操作:
似乎没有简单的解决办法。然而,Ubuntu和其他发行版可能不会受到这个bug的影响,因为它们是根据
libreadline
构建PHP的。由于许可问题,Debian不使用libreadline
,而是使用libedit
。另一个答案是缺少解决方案
while read -er line; do php -r "$line"; done
您可以自己编译readline模块。使用Debian Wheezy和PHP5.4,我可以通过这样做(以root用户身份运行命令)来解决这个问题:
#apt get install php5 dev libedit dev libreadline dev
#mkdirphp&光盘php
#apt获取源php5 cli
#cd php5-5.4.4/ext/readline
#phpize
#ln-s.././sapi/
#/配置
#制造
#cp模块/readline.so/usr/lib/php5//
#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可用/readline.ini 20-readline.ini
现在PHP控制台应该可以正常工作了。我已经为Ubuntu12.04 Precise Pangolin(基于Debian Wheezy)解决了这个问题,所以:
在
php.ini
的cli.pager
工具书中,我在php.ini中搜索了cli.pager,但什么都看不到。你能给我一些关于我需要添加到ini文件的建议吗?非常感谢。
# 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
sudo apt-get install php5-readline