2013-06-07 4 views
0

PHP의 명령을 사용하여 cygwyn을 사용하여 파일을 인쇄하려고합니다. 아래는 제 코드입니다. 그러나 나는 이것을 PHP에서 실행할 때 명령 행에서 사용할 수 있지만 작동하지 않는다.PHP에서 Dos 명령 실행

exec ('\cygwin\bin\bash.exe -c "/scripts/print.sh"'); 

여기에 무엇이 잘못되었을 수 있습니까?

추가 정보 :

스크립트 print.sh : TSP143LAN 내 프린터입니다

#!/usr/bin/bash 

/usr/bin/lpr -d TSP143LAN /spool/order1.txt 

.

또한 직접 exec 명령을 사용해 보았습니다.

exec ('c:\cygwin\bin\lpr.exe -d TSP143LAN c:\cygwyn\spool\order1.txt', $output); 
var_dump($output); 

내가 볼 출력은 Cygwin에서의 전체 경로를 추가

array (size=0) 
    empty 
+0

디버깅을 위해 출력 변수 (두 번째 인수)를 지정해보십시오. 또한 PHP가 동일한 폴더에서 명령을 실행하는지 확인하십시오. 예를 들어, 'dir'을 실행하도록 요청하면 그 위치를 알아야합니다. – Ariane

+0

오류 메시지가 있습니까? 좀 더 간단한'exec ("dir"); – furas

+0

나는 그랬다. 나는 exec ("dir")의 값을 볼 수 있습니다. 나는 또한 exec ('c : \ cygwin \ bin \ bash.exe', $ output)를 시도했다. var_dump ($ 출력); 배열 (크기 = 0)이 보입니다. 비어 있습니다. – user2465120

답변

0

시도, 예는 다음과 같습니다

shell_exec('C:\cygwin\bin\bash.exe -c "/scripts/print.sh"'); 

편집 :이 사용자의 코멘트가에서 아래 링크

확인 PHP 매뉴얼

http://www.php.net/manual/en/function.exec.php#85930

+0

이 작동하지 않습니다. 다른 아이디어 – user2465120

+0

방금 ​​비슷한 상황에있는 누군가에게서 유용한 의견을 발견 했으므로 확인해야 할 좋은 목록이 있습니다. –