无法进入PHP交互模式

时间:2012-07-16 17:03:33

标签: php debian

我正在运行Debian Squeeze&我想尝试进入PHP交互模式。 (我已经安装了php5-cli以及通常的php安装包)  通常我会通过在这个系统上运行php -a来做到这一点我得到以下内容,没有通常的PHP提示符:

  

启用交互模式

任何帮助都非常感激。

4 个答案:

答案 0 :(得分:4)

不幸的是,这是特定于Debian的错误:#576218

总结错误报告中的评论: 似乎没有简单的解决方法。但是,Ubuntu和可能的其他发行版不受此错误的影响,因为它们针对libreadline构建PHP。由于许可问题,Debian不使用libreadline,而是libedit

答案 1 :(得分:1)

另一个答案是错过了一个解决方案。

  1. 如果您想要一些没有持久环境的短命令,请执行

     while read -er line; do php -r "$line"; done
    
  2. 获取一个不同的php,(通过编译或其他方式)链接到readline而不是libedit(这不是在debian中完成的,因为参与php包装的人不希望readline的gpl应用于php),或修复此错误的较新版本的php。

答案 2 :(得分:0)

您可以自己编译readline模块。使用Debian Wheezy和PHP 5.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控制台应该可以正常工作。

答案 3 :(得分:0)

我已经为Ubuntu 12.04 Precise Pangolin(基于Debian Wheezy)解决了这个问题所以:

sudo apt-get install php5-readline
相关问题