Debian Wheezy (현재 테스트 중)에 php5-cli를 설치하면 readline 지원이 누락되어 대화 형 프롬프트를 사용할 수 없습니다 (버그 341868 ). libreadline에 링크 된 버전을 사용하는 가장 쉬운 방법은 무엇입니까 (사용 가능한 라인 편집을 위해)?
답변
Dotdeb 데비안 안정적인 패키지를 사용하십시오 . 문서에이 내용이 언급되어 있지 않지만 현재 안정적인 패키지는 Wheezy / testing에서 잘 작동합니다. 지시 사항을 따른 후 다음을 수행하십시오.
apt-get install php5-cli
루트로.
답변
dotdeb 에서 php5-cli를 설치 한 후 php5-readline 패키지를 설치하십시오.
apt-get install php5-readline
답변
완전한 PHP 패키지 재 컴파일을 제안하는 Gilles의 답변 외에도 PHP 5.4를 기다릴 수도 있습니다. 5.4에서는 필 요한 모든 부품이 리드 라인 모듈에있는 리드 라인 기능을 재구성하여 독립형으로 빌드 할 수 있습니다.
$ 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에서로드 할 수있는 a로 끝납니다 ( make install
이동합니다 extension_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에 더 많은 정보가 있어야합니다.
답변
설치 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
답변
이 시도:
$ php -a
Interactive mode enabled
<?php echo "hi!"; ?>
Ctrl-d를 누르십시오
답변
Ubuntu 사용자의 경우 php5-readline은 사용 가능한 php 명령 프롬프트를 갖기 위해 설치해야하는 추가 패키지입니다.
sudo apt-get install php5-cli php5-readline
sudo php5enmod readline
우분투 14.04 에서이 작업을 수행해야했습니다.