php 에서 shell_exec 실행후 값을 가져오려는데 잘 안되네요
글쓴이: pci486 / 작성시간: 금, 2014/01/03 - 4:17오후
일단 php.ini 에 safe 모드는 off 로 되어있습니다.
그리고 버젼은 5.3 입니다.
일단 지금 사용자가 업로드 하는 문서에 문자추출을 해야되는 일이 생겨서
오픈소스 쪽으로 알아보니 antiword, xpdf 이외에는 없는것 같더군요.
그래서 자바 네이티브로 문서 추출하는 프로그램을 만들었습니다.
그리고 서버에 자바 설치후 리눅스 콘솔창에서 자바 명령을 실행하니 정상적으로 문서의 내용이 파싱되어
리눅스 콘솔창으로 뜨는것을 확인했습니다.
문제는 이 다음부터 발생하였습니다.
다름이 아니라 php 에서 shell_exec 로 커멘드 라인과 동일하게 명령을 주니 반환값이 안나옵니다..( pwd 같은 명령은 나옵니다..)
혹시나 싶어서
#!/bin/bash
str=`java ExecuteText $1`
echo $str
이런 쉘을 작성하여 ./java.sh 파일파스 이래 주어도 안나옵니다..
이거 어떻게 해결하면 될까요..
클라쪽 요청이라
반드시 되어야되는 기능이기에 머리짜매다가
질문 올려봅니다.
혹시나 해결하신분 계시면 조언좀 해주시길 바랍니다.
참고로 해당 자바 클래스들은 전부 root에 755 로 설정되어 있습니다.
Forums:
exec instead of shell_exec
기억이 잘 안나지만, PHP 에서 직접 쉡 스크립트 호출하는 것은 security 설정과 연관이 되었던 기억이 납니다.
그래서 저는 system (나중에 exec) 로 바꾸었습니다.
shell_exec 대신에 system 이나 exec 를 써 보세요.
예를 들면,
댓글 달기