기기에 부적절한 ioctl

토비 멜러

PHP 애플리케이션을 통해 SSH 명령을 실행하려고합니다.

PHP 애플리케이션을 통해 "./SSDownload.sh"를 입력합니다. 터미널 SSH를 통해 "./SSDownload.sh"를 입력합니다.

SSDownload.sh에는 다음이 포함됩니다.

cd /var/www/html/dev/media/mp3/$1
spotify-to-mp3 songs.txt

내 터미널 SSH를 통해 다음 응답을 얻습니다.

Resolving "fancy iggy azalea"
Searching "fancy iggy azalea" on Grooveshark
"Iggy Azalea - Fancy (feat. Charli XCX)" will be downloaded

Downloading tracks...
[1/1] Iggy Azalea - Fancy (feat. Charli  100% [==================================] Time: 00:00:01
Download complete

파일이 성공적으로 다운로드되고 올바른 디렉토리에 파일이 저장됩니다.

다음 코드를 사용하여 PHP로 동일하게 시도했습니다.

include('Net/SSH2.php');
$ssh = new Net_SSH2('iphere');
if (!$ssh->login('root', 'password')) {
exit('Login Failed');
}

echo "1 : " . $ssh->exec('./SSDownload.sh ' . $_GET['player']) . "<br />";

산출:

Resolving "fancy iggy azalea" Searching "fancy iggy azalea" on Grooveshark "Iggy Azalea - Fancy (feat. Charli XCX)" will be downloaded Downloading tracks... [0;31;49mInappropriate ioctl for device[0m [0;32;49mDownload complete[0m

파일이 성공적으로 다운로드되지 않고 파일을 올바른 디렉토리에 배치하지 않습니다.

무엇을 의미하든 " Inappropriate ioctl for device "에 대해 알려 드리고자 합니다.

응답이 다른 이유는 무엇입니까? 어떻게 고칠 수 있습니까?

Kenster

"ioctl"은 장치에 제어 명령을 보내는 POSIX 작업입니다 ( "I / O 제어"). "부적절한 ioctl"오류는 프로그램이 어떤 방식 으로든 올바르지 않은 장치로 ioctl을 보냈 음을 의미합니다. 문제는 실행 방법에 따라이 spotify 프로그램이 사용할 수있는 ioctls입니다.

명령 줄에서 spotify 프로그램을 실행하면 TTY가 있습니다. PHP 코드가 프로그램을 시작할 때 TTY가 없습니다. 어떤 이유로 표준 출력이 tty가 될 것으로 예상하여 ioctl을 표준 출력으로 보내고있을 것입니다. 내 생각 엔 ioctl을 사용하여 터미널 너비를 가져 와서 진행률 표시 줄 그래픽을 표시 할 수 있습니다.

이 문제를 해결하는 방법에는 두 가지가 있습니다. 이 spotify 프로그램에 대한 설명서를 확인하여 진행률 표시 줄 인쇄를 비활성화하는 비대화 형 모드 또는 배치 모드 또는 자동 모드가 있는지 확인할 수 있습니다. 실패한 ioctl 수행을 피할 수 있습니다.

다른 수정 사항은 PHP가 ssh 세션에 대해 pty (pseudo-TTY)를 요청하도록하는 것입니다. 저는 PHP 코더는 아니지만 이 페이지 는 Net_SSH2 API를 설명하는 것으로 보이며 exec () 호출에 대해 PTY요청하는 기능을 나열합니다 .

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Concalc- "tcsetattr 오류 : 장치에 대한 부적절한 ioctl"

분류에서Dev

Concalc- "tcsetattr 오류 : 장치에 대한 부적절한 ioctl"

분류에서Dev

RS485 : 장치에 대한 부적절한 ioctl

분류에서Dev

CentOS8에서 Atheros가있는 장치 SIOCGIWRANGE에 대한 부적절한 ioctl

분류에서Dev

<file>에서 플래그를 읽는 동안 장치에 대한 부적절한 ioctl

분류에서Dev

bash 스크립트 오류 stty : 표준 입력 : 장치에 대한 부적절한 ioctl

분류에서Dev

hdparm은 SSD를 읽지 못합니까? HDIO_DRIVE_CMD (식별) 실패 : 장치에 대한 부적절한 ioctl

분류에서Dev

seterial : 일련 정보를 가져올 수 없음 : 장치에 대한 부적절한 ioctl

분류에서Dev

ioctl 기능을 통한 파일 시스템 접근

분류에서Dev

부적절한 CSS 선택기 규칙?

분류에서Dev

Java에서 부적절한 동기화 출력

분류에서Dev

터미널에서 부적절한 출력 받기

분류에서Dev

ResultSet을 닫기에 적절한시기

분류에서Dev

URL을 얻기에 적절한시기

분류에서Dev

C에서 부적절한 스캔

분류에서Dev

근사하지 않고 부적절한 적분 풀기

분류에서Dev

기호에 대한 적절한 용어

분류에서Dev

Python IDLE에서 부적절한 들여 쓰기가 허용됩니까?

분류에서Dev

Laravel에서 적절한 경로 얻기

분류에서Dev

ioctl을 정의에 매핑

분류에서Dev

반향 특성 용기의 부적절한 수명

분류에서Dev

버퍼링 된 판독기 .. 부적절한 출력

분류에서Dev

ioctl에서 기존 인수를 확인하는 방법

분류에서Dev

심볼릭 링크에서 예기치 않은 ioctl 동작

분류에서Dev

IOCTL 코드가 DeviceIoControl 반환 값에서 유효한지 여부를 어떻게 알 수 있습니까?

분류에서Dev

E / eglCodecCommon : GoldfishAddressSpaceHostMemoryAllocator : device_type = 5, ret = -1에 대한 ioctl_ping 실패

분류에서Dev

Ubuntu / Linux에서 적절한 소유권 / 권한 부여

분류에서Dev

세분화 오류에 대한 부적절한 이해

분류에서Dev

AngularJS에서보기 및 하위보기의 적절한 사용

Related 관련 기사

  1. 1

    Concalc- "tcsetattr 오류 : 장치에 대한 부적절한 ioctl"

  2. 2

    Concalc- "tcsetattr 오류 : 장치에 대한 부적절한 ioctl"

  3. 3

    RS485 : 장치에 대한 부적절한 ioctl

  4. 4

    CentOS8에서 Atheros가있는 장치 SIOCGIWRANGE에 대한 부적절한 ioctl

  5. 5

    <file>에서 플래그를 읽는 동안 장치에 대한 부적절한 ioctl

  6. 6

    bash 스크립트 오류 stty : 표준 입력 : 장치에 대한 부적절한 ioctl

  7. 7

    hdparm은 SSD를 읽지 못합니까? HDIO_DRIVE_CMD (식별) 실패 : 장치에 대한 부적절한 ioctl

  8. 8

    seterial : 일련 정보를 가져올 수 없음 : 장치에 대한 부적절한 ioctl

  9. 9

    ioctl 기능을 통한 파일 시스템 접근

  10. 10

    부적절한 CSS 선택기 규칙?

  11. 11

    Java에서 부적절한 동기화 출력

  12. 12

    터미널에서 부적절한 출력 받기

  13. 13

    ResultSet을 닫기에 적절한시기

  14. 14

    URL을 얻기에 적절한시기

  15. 15

    C에서 부적절한 스캔

  16. 16

    근사하지 않고 부적절한 적분 풀기

  17. 17

    기호에 대한 적절한 용어

  18. 18

    Python IDLE에서 부적절한 들여 쓰기가 허용됩니까?

  19. 19

    Laravel에서 적절한 경로 얻기

  20. 20

    ioctl을 정의에 매핑

  21. 21

    반향 특성 용기의 부적절한 수명

  22. 22

    버퍼링 된 판독기 .. 부적절한 출력

  23. 23

    ioctl에서 기존 인수를 확인하는 방법

  24. 24

    심볼릭 링크에서 예기치 않은 ioctl 동작

  25. 25

    IOCTL 코드가 DeviceIoControl 반환 값에서 유효한지 여부를 어떻게 알 수 있습니까?

  26. 26

    E / eglCodecCommon : GoldfishAddressSpaceHostMemoryAllocator : device_type = 5, ret = -1에 대한 ioctl_ping 실패

  27. 27

    Ubuntu / Linux에서 적절한 소유권 / 권한 부여

  28. 28

    세분화 오류에 대한 부적절한 이해

  29. 29

    AngularJS에서보기 및 하위보기의 적절한 사용

뜨겁다태그

보관