2016-10-21 15 views
-1

"wget"명령을 실행하여 내 서버 A에서 파일을 다운로드 한 다음이 파일에서 인수를 검색 할 Python을 실행합니다.php wget 및 python 스크립트를 실행하십시오.

내 스크립트 : 그러나

switch ($_POST["parse"]) { 
    case 'parse1': 
     shell_exec("wget http://localhost/".$file_path); 
     shell_exec("python /opt/lampp/htdocs/mysite/api/scripts/script_parse.py ".$file_path." 1"); 
     echo $file_path; 
     break; 

    default: 
     echo "no"; 
     break; 
} 

(I 데비안에서 지역 XAMPP 함께 있어요), 파일이 다운로드 내가 스크립트를 실행하려고 할 때이 공간에로드하는 페이지가되지 않는 (또는 파일없이)하지만 아무것도하지 않습니다.

어제 밤 이후로보고 있습니다.하지만 그럴 수 없습니다.

게다가, 나는 스크립트 실행이 끝날 때까지 페이지가로드되지 않도록하고 싶다.

+0

어떻게 실제로 파이썬 질문입니까? –

+0

wget이 작동하지 않으며 python 명령도 있습니다. –

+3

그리고? 이것이 파이썬 질문은 어떤가? 첫 번째 shell_exec 호출이 실패하는 한, 언어가 구현에 사용 된 것과 동일한 문제가 두 번째 문제에서 발생합니다. 파이썬으로 작성되었다는 사실은 당신의 질문과 완전히 무관합니다. –

답변

0

대신 shell_exec()wget 많은 다른 사람의 사이에서.`) ("사용 It supports both the HTTP and the HTTPS protocols을 file_get_contents을 파일을 다운로드하고, 다운로드가 실패 할 경우 그것은 또한 당신에게 정보 오류 메시지를 줄 것이다.

을 또한 필요합니다 Arek의 주석에 언급 된 것처럼 오류 처리를 코드에 추가하는 것은 실수가 발생한 상황을 적절하게 처리 할 수있는 유일한 방법이기 때문에이를 수행하는 것이 더 쉽습니다. 디버그뿐만 아니라 사용자에게도 도움이 될 것입니다.

PHP 매뉴얼을 읽고 오류가 발생할 경우 다른 함수가 반환하는 값을 확인하고 ch 이것들을 반대하십시오. 함수 중 하나라도 잘못된 값을 반환하면 사용자에게 오류 메시지를 표시하고 비즈니스 논리의 나머지 부분을 중단하십시오 (코드가 실제로 수행 할 사항).

관련 문제