2012-07-16 6 views
2

데비안 스퀵즈 &을 실행 중입니다. PHP 대화 형 모드로 전환하려고합니다. 더 일반적인 PHP 프롬프트, 는 일반적으로 나는 다음을 얻을이 시스템에서 php -a을 실행하여이 작업을 수행 할 것이다 (나는 PHP5-cli를 패키지를 설치하는 일반적인 PHP와 함께 설치 한) :PHP 대화 형 모드로 연결할 수 없습니다.

대화 형 모드는 활성화

도움을 주시면 감사하겠습니다.

+1

http://www.php.net/manual/en/features.commandline.interactive.php 일부 다른 거기에 도움이 될만한 댓글 –

+0

''cli.pager'에 대해'php.ini'를보세요 – alfasin

+0

cli.pager에 대해 php.ini를 검색했지만 아무것도 볼 수 없습니다. ini 파일에 추가해야하는 것에 대한 조언을 해 줄 수 있습니까? 매우 감사. – aphrek

답변

1

해결책에 대한 다른 대답이 누락되었습니다.

  1. 당신은 지속적인 환경없이 약간 짧은 명령을 원하는 경우에

    while read -er line; do php -r "$line"; done 
    
  2. 대신 libedit의 readline에 대한 링크하는 (컴파일 또는 다른 수단을 통해) 다른 PHP를받을 수 있나요 (이이었다 데비안에서는 php 패키지에 관련된 누군가가 php에 readline의 gpl을 적용하지 않기 때문에), 또는이 버그가 수정 된 최신 버전의 PHP를 사용하기 때문에.

4

불행히도 이것은 데비안 특정 버그입니다 : #576218.

버그 보고서의 의견 요약 : 쉬운 해결 방법이없는 것 같습니다. 그러나 Ubuntu와 다른 배포판은 libreadline에 대해 PHP를 빌드하기 때문에이 버그의 영향을받지 않습니다. 데비안은 라이센스 문제로 인해 libreadline을 사용하지 않고 libedit을 사용합니다.

0

직접 readline 모듈을 컴파일 할 수 있습니다. 데비안 위지와 PHP 5.4으로 나는 (루트로 명령을 실행)이 작업을 수행하여이 문제를 해결할 수 있었다 :

# 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 콘솔이 잘 작동합니다.

0

그래서 (데비안 위지 기준) 우분투 12.04 정밀한 천산갑이를 해결 한 :

sudo apt-get install php5-readline 
관련 문제