MAFFT라는 서버에서 프로그램을 실행하는 웹 기반 프로젝트에서 작업하고 있습니다. MAFFT는 인수로 입력 파일과 출력을 쓰는 파일을 취합니다.웹 페이지에서 실행될 때 PHP/MAFFT에서 파일 쓰기가 작동하지 않습니다.
mafft in > out
나는이 호출하는 PHP 페이지가 : 그럼
#!/bin/bash
mafft in > out
:
<?php
shell_exec("sh ./scr.sh");
?>
나는 또한 쉘 스크립트 (scr.sh)를 시도
<?php
shell_exec("mafft in > out);
?>
쉘 스크립트 나 PHP 파일을 실행할 때 전자 명령 라인
php something.php
정확히 그것이에 예상대로 작동하지만, 난 그냥 웹 브라우저에서 페이지를 탐색 할 때, 그것이 내가 출력을 변경하는 경우에도 (아웃 파일을 생성하지만, 그것을 기록하지 않습니다 file perm을 777로 변경).
입/출력 파일은 시퀀스 정렬 작업이므로 상당히 클 수 있지만 200 자 미만의 파일로 테스트하고 있습니다.
여기에 누락 된 내용이 있습니까? 아니면 웹 페이지에서이 작업을 수행 할 수 없습니까?
덕분에, 라이언
'sh'에 대한 전체 경로를 게시해야합니다. 즉. 'shell_exec ("/ bin/sh ./scr.sh");'. 이러한 문제의 대부분은 권한 문제 또는 'PATH' 환경 변수가 올바르게 설정되지 않아 발생합니다. –
@FlorinStingaciu 귀하의 권장 사항을 추가했지만 여전히 출력 파일을 만들지 만 그것에 쓰지는 않습니다. – Ryan
stderr을'2> & 1>'을 사용하여 출력으로 파이핑 해보십시오. 어쩌면 당신은 무엇이 잘못되었는지에 대한 힌트를 얻을 것입니다. –