나는 최근에 PHP CLI의 매혹적인 세계에 들어갔다.PHP에서 작동하지 않는 화살표 키 CLI 스크립트 | 편집 : STDIN 관련된
우분투 터미널에서 스크립트를 실행하고 커서를 이동하는 대신 화살표 키를 누르면 이스케이프 코드^[[A^[[B^[[C^[[D. 내가 정상 터미널을 사용하는 경우
문제가 나타나지 않습니다. 그래서 내 스크립트에 뭔가 정상적인 동작을 방지 같아요.
사람은 어떤 솔루션이 있습니까?
도움 주셔서 감사합니다.
편집 : 그것은 내가 입력 문제를 잡기 위해 사용 STDIN을,처럼
가 보이는! STDIN 입력을 기다릴 때, 터미널은 잘못된 문자를 보여줍니다 !! 어떻게 해결할 수 있습니까?
당신은 우리에게 몇 가지 코드를 바랍니다 보여줄 수 있을까요? [readline] (http://www.php.net/manual/en/book.readline.php)은 아직 사용하지 않고 있다면 도움이 될 것입니다. – Viktor
Uhm, 코드 문제가 아닙니다. 화살표 키를 누르면 커서가 이동하는 대신에 [[A^[[B^[[D^[[C] – Bakaburg
다른 구현은 분명히 적어도 나를 위해 다른 행동을 초래합니다. 예를 들어,'fgets (STDIN)'또는'fread (STDIN, 100)'을 사용하면 나는 당신과 같은 이스케이프 문자를 얻게되는 반면 GNU readline을 사용하는'readline()'을 사용하면 왼쪽과 오른쪽 화살표 키가 라인 편집을 허용합니다 (Windows PuTTY SSH 터미널을 통해 리눅스 박스에서). 'fgets' 또는'fread'로 라인 편집이 가능한지 확실하지 않으므로'readline'을 사용하는 것으로 의심됩니다. [Ncurses] (http://php.net/manual/en/book.ncurses.php)도 또 다른 가능성이 있습니다. 하지만 나는 코드를 보지 않고도 (많은) 도움을 줄 수는 없다. – Viktor