2012-05-30 2 views
3

ImageMagick, IIS 6, Ghostscript 및 PHP 5.3.1이 Windows Server 2008 상자에 설치되어 있으며 PDF 파일을 JPG 축소판으로 변환하려고합니다.IIS의 PHP - Exec Returns 1

그러나 작동하지 않는 것 같습니다. exec()을 호출하면 리턴 코드가 1로 생성됩니다 (이는 내 이해에 따라 일반적인 오류가 발생했음을 의미합니다). 출력 변수는 단순히 빈 배열입니다. $output은 단순히 빈 배열입니다. 내가 exec() 대신 system()을 사용하는 경우에도 마찬가지입니다.

명령 줄에서 명령을 실행하면 작동하는 것 같습니다. 그래서 내 초기 추측은 간단한 사용 권한 문제 일 수 있습니다 ... 디렉토리는 PHP에 의해 쓰기가 가능합니다. 디렉토리에 PDF가 작동하고, 모든 사람이 디렉토리에 쓸 수있는 권한이 있다는 것도 확인했습니다.

또한 안전 모드는 꺼져 있습니다.

문제는 무엇이 될 수 있습니까?

관련 코드 :

<?php 
    $output = array(); 
    $ret = 0; 
    echo exec('convert D:\content\myfile.pdf[0] D:\content\myfile_thumb_1.jpg', $output, $ret); 
    var_dump($ret); 
?> 

참고 : 나는 맥 OS X에 아파치에서이 테스트 것이지만, 내가 ImageMagick이 나 고스트 스크립트가 올바르게 설치 얻을 수없는 것.

나는 또한 다음과 같은 보장 한 : 추가 Convert.exe를의 전체 경로를 사용하여 파일 이름

  • 올바른 경우 (어쨌든 모두 소문자)
  • 을 단순히
  • 을 CONVERT.EXE

UPDATE :

작업 관리자를 확인한 후, Convert.exe를 실행중인 그것은 f를 나에게 제안, CPU 시간을 차지 어떤 종류의 ile 사용 권한 ... 지금 확인해 보겠습니다.

+0

$ 출력은 exec 호출 후 빈 배열입니다. 또한, 아무 것도 울리지 않습니다. 반환 코드는'$ ret'의'var_dump'입니다. 정수 (1)입니다. –

+0

실제로 아무 것도 출력 할 필요가 없습니다. 바로 디버깅을위한 것입니다. 지금. 실제로 JPG를 제외하고는 어떤 출력도 기대하지 않습니다. 'exec ('DIR')'은 완벽하게 예상대로 작동하고 스크립트가 들어있는 디렉토리의 내용을 표시합니다. –

+1

어쩌면 질문을 던지기도하지만 'convert (.exe?)'의 전체 경로를 지정하면 어떻게됩니까? – Kev

답변

1

IIS에서 무언가에 대한 권한 문제가 발생했습니다. 웹 사이트는 CMD의 명령과 다른 사용자로 실행되었으므로 CMD보다 권한이 적기 때문에 분명히 IIS에서 작동하지 않습니다.

+1

어떻게 문제를 해결 했습니까? 어떻게하면 올바른 권한을 설정할 수 있습니까? – mstation

+0

해결책은 무엇입니까? –