728x90
php에서 exec를 통해서 외부 프로그램을 실행시
출력 메세지를 도통 확인할 수가 없었다.
권한 문제나, nobody의 실행 권한 문제, php.ini 의 safe_mode_exec_dir 설정도 모두 살펴보았지만
특별한 문제가 없었다.
이유는 해당 외부 프로그램이 stdout stderr을 사용하지 않는다는데 있었다.
php_ini error_message 를 E_ALL 로 해두었으나, 나타나지 않음
httpd error_log 를 살펴보고서야 거기서 나타난 메세지들을 확인할 수 있었다.
출력되는 out 이 error_log로 연결되어 있었다는 소리.
ls 나 다른 기본적인 프로그램을 실행되는데 내가 수행하려는 curl은 안되었다.
마지막 exec($command) 에서 $command 에 .= " 2>&1 "; 를 추가해주니 되었음.
기억해 두자... 이것때문에 3일 고생했네;;
'개발' 카테고리의 다른 글
PHP 에서 구글 SMTP를 이용해서 메일 보내기 (0) | 2011.09.08 |
---|---|
우분투 11.04 셋팅 정보 정리 (0) | 2011.08.15 |
특정 문자열을 포함하는 파일 찾기(linux) (0) | 2011.05.02 |
GMT 시간 얻기 strtotime (0) | 2011.04.01 |
검색 데이타들을 세션으로 저장하여 처리 (0) | 2011.03.14 |