도움말을 검색하고 this thread의 모든 것을 시도했지만 여전히이 작업을 수행 할 수 없습니다. shell_exec()를 사용하여 PHP 스크립트에서 sox (Sound eXchange) 명령 줄 유틸리티를 실행하려고합니다. 두 개의 오디오 파일을 연결해야합니다. 둘 다 PHP 스크립트와 동일한 디렉토리에 있습니다 (즉, 아파치에서 액세스 가능).PHP를 통해 sox 명령을 실행할 수 없습니다 shell_exec
- 일부 삭스 명령() shell_exec를 사용하여 잘 작동 :
여기 혼란이다. 예를 들어 오디오 파일을 재생하거나 정보를 검색 할 수 있습니다.
- 연결 명령을 출력하여 (정확히 PHP가 셸에 보내는 내용을 알고 있으므로) 셸 창에 복사하여 붙여 넣으면 완벽하게 실행됩니다.
- My Apache 사용자 (_www)는 PHP 스크립트가있는 디렉토리와 sox 디렉토리에 대한 완전한 권한을가집니다. 두 디렉토리 모두에서 "chown -R _www : _www"및 "chmod -R 777"을 실행했습니다.
- sox 실행 파일과 오디오 파일의 전체 경로를 사용하고 있습니다.
그래서이 쉘에서 작동 :
"/soxpath/sox /filepath/file1.wav /filepath/file2.wav /filepath/combined.wav"
을하지만이 PHP에서 작동하지 않습니다
shell_exec('/soxpath/sox /filepath/file1.wav /filepath/file2.wav /filepath/combined.wav');
사람이에 도움이 되거 수 있습니까? 내가 뭘 놓치고 있니? 감사.
shell_exec()는 무엇을 반환합니까? –
/soxpath/sox ???? .... 전체 경로 또는 샘플입니다. – Baba
shell_exec()는 NULL을 반환합니다. "/ soxpath /"는 실제 전체 경로의 자리 표시 자일뿐입니다. 필자의 경우에는 "/bin/sox-14.4.0/" – brettcito