Use os pacotes estáveis Debian Dotdeb . Embora a documentação não observe isso, os pacotes estáveis atualmente funcionam bem com o Wheezy / testing. Depois de seguir as instruções, faça:
apt-get install php5-cli
como root.
Quando eu instalo o php5-cli no Debian Wheezy (atualmente testando), o prompt interativo é muito inutilizável devido a falta de suporte readline (bug 341868 ). Qual é a maneira mais fácil de instalar uma versão vinculada ao libreadline (para edição de linha utilizável)?
Use os pacotes estáveis Debian Dotdeb . Embora a documentação não observe isso, os pacotes estáveis atualmente funcionam bem com o Wheezy / testing. Depois de seguir as instruções, faça:
apt-get install php5-cli
como root.
Depois de instalar o php5-cli de dotdeb , instale o pacote php5-readline.
apt-get install php5-readline
Como complemento à resposta de Gilles, que sugere recompilar o pacote PHP completo, você também pode esperar pelo PHP 5.4. Em 5.4, reestruturei a funcionalidade de readline de que todas as peças necessárias estão no módulo de readline, para que você possa construir esse autônomo.
$ 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
Então você vai acabar com um modules/readline.so
que pode ser carregado do php.ini ( make install
irá movê-lo para extension_dir
)
Como alternativa, o distribuidor pode enviar o módulo readline (talvez ligado ao libedit, não readline) e o modo interativo estará disponível.
Isso tudo não vai ajudá-lo agora (como o PHP 5.4 ainda não foi lançado), mas pode ajudar outras pessoas a encontrarem essa questão mais tarde.
Mais alguns detalhes no meu blog: link
Editar: na verdade, a postagem do blog é mais antiga que essa alteração, mas ainda pode ser interessante. Um pouco de informação está no relatório de bug # 53878 mas não muito ... após o lançamento link deve ter mais.
Instale rlwrap
e execute rlwrap php5
. O Rlwrap é um invólucro de readline genérico, ele fornece edição de linha de comando e histórico para qualquer loop de leitura e impressão-eval. Como é um invólucro genérico, você não receberá nenhuma conclusão específica do PHP.
Como alternativa, obtenha o pacote de origem e reconstrua-o com o suporte readline. O suporte Readline foi deixado de fora apenas devido a problemas de licenciamento , mas esses problemas apenas proíbem distribuindo PHP5 linkado com readline, eles não o proíbem de usá-lo.
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
Tente isto:
$ php -a
Interactive mode enabled
<?php echo "hi!"; ?>
A imprensa Ctrl-d
Para usuários do Ubuntu, o php5-readline é o pacote adicional que você precisa instalar para ter um prompt de comando php utilizável:
sudo apt-get install php5-cli php5-readline
sudo php5enmod readline
Eu tive que fazer isso no meu Ubuntu 14.04.
Nada disso funcionou para mim. Use o link em seu lugar.
No debian jessie e no uso sid do debian:
sudo apt-get install php5 php5-readline
então
php -a
Interactive mode enabled
php > echo 1+2;
3
php >
Tags command-line php debian readline