2012-10-01 4 views
0

안녕하세요. GET 요청을 통해 주어진 일부 데이터와 함께 cmd에서 PHP 스크립트를 실행하려고하는데 어떤 이유로 든 명령 완료를 기다릴 수 없습니다. 코드는입니다.PHP는 exec 완료를 기다리지 않습니다.

<?php 
error_reporting(0); 

file_put_contents("query.txt", $_GET['query']); 


exec("php loop1.php"); 
$result=file_get_contents("result.html"); 
echo $result; 
?> 

loop1의 코드는 너무 복잡하고 질문의 요점이 아닙니다.

+1

'loop1'이 실제로 실행되고 있는지 확인 했습니까? 'php'가 부모 스크립트가 호출하는 쉘의 경로에 없다면, "no such command/filename"오류가 발생합니다. exec() 호출의 반환 값은 무엇입니까? 호출의 종료 값을 캡처하기 위해 exec에 선택적 제 3 var을 추가하십시오. –

+0

두 번째 var $ 출력에 단서가있을 수도 있습니다 –

+1

이 PHP 스크립트에서 외부 PHP 스크립트를 실행하려고하는 이유가 있습니까? 왜 include를 수행하지 않고 현재 스크립트 내에서 실행시키지 않는가? –

답변

0

오히려,/플랫폼을 설치 아마도 당신은 주어진에 대한 더 명시 적 경로를 통해 더 나은 행운을했을 암시 'PHP'CLI 도구를 사용하는 것보다 예 :

$phpcli = '/usr/local/bin/php'; 
exec($phpcli . ' loop1.php'); 

(첫번째 $의 phpcli를 설정해야합니다

에 PHP에 대한 올바른 명시 적 경로가 포함되어 있음)

+0

코드를 변경하여 cmd를 실행하지 않아도 결과가 정확하고 exec가 완료 될 때까지 기다렸습니다. 변경 사항은 입니다. file_put_contents ("query.txt", "WWII"); – Evan

관련 문제