PHP에서 perl 스크립트를 실행하려고합니다. 그 perl 스크립트는 웹 페이지를 읽고 일부 데이터가 포함 된 xml 파일을 생성합니다. 만약 내가 PHP를 통해 모든 일을 자동화하려고 할 때 내가 예상대로 작동하지만, 쉘을 통해 모든 임무를 작동합니다.PHP가 exec를 통해 perl 스크립트를 실행할 수 없습니다.
나는 이것을 시도했다 :
exec("perl /absolute/path/to/perl/script/parser.pl", $output, $result);
는 내가 그것을 2
표시 $result
변수를 에코 때. PHP safe_mode를 여러 번 켜고 껐습니다.하지만 아무 것도 변경되지 않았습니다. 긍정적 인 결과없이 safe_mode_exec_dir
도 설정하려고했습니다. 내가
exec("ls", $output, $result);
모든 것이 잘 어울리는 간단한 LS를 간부 인 경우
, 내가 파일의 목록을 얻을 $result
는 0
입니다.
perl 스크립트에는 chmod 777이있어 권한의 문제가되지 않습니다. 또한 그의 폴더는 777입니다.
저는이 문제가 서버에 관한 것이지만 거의 찾을 수 없다고 확신합니다.
도움이 될 것입니다.
감사합니다.
언제'parser.pl'가 2를 반환 할 수 있습니까? 올바른 인수를 사용하여 스크립트를 실행하고 있습니까? '$ output'에 어떤 것이 있습니까? 그리고 당신의 예는 마지막 큰 따옴표가 없습니다. – Mikel
스크립트에 인수가 없기 때문에 위에서 설명한대로 (분명히 올바른 경로로) 셸에 복사/붙여 넣기를 시도했지만 작동합니다. 당신은 예제가 quete가 빠진 것이 옳았으나, SO 내부의 코드를 복사하는 것의 문제 일뿐입니다. 미안합니다. – Dalen
$ 결과는 2로 보이는 실행 된 명령의 상태를 포함해야하지만 의미가 무엇인지 모르겠다. – Dalen