2010-02-04 2 views
11

exec($command)의 최대 실행 시간을 설정할 수 있습니까?exec()의 최대 실행 시간을 설정하십시오.

Fatal error: Maximum execution time of 60 seconds exceeded in C:\xampp\htdocs\files.php on line 51

가 어떻게이 exec() 명령 최대 실행 시간을 증가시킬 수있다 : 가끔 내 $command의 실행 1 분 후 중지하고이 오류를 제시 너무 오래 지속?

if (allow()) { 
    exec($command); 

    if (file_exists($file)) { 
     //exec($makeflv); 
     echo '<script language="javascript" type="text/javascript">window.top.window.aviout(1);</script>'; 

    } else { 
     echo $error; 
     } 

} else { 
    echo $error; 
    } 
+1

이 적어도 세 가지 답하고있다 시간 : http://stackoverflow.com/questions/1176497/limit-execution-time-of-an-function-or-command-php, http://stackoverflow.com/questions/1928249/php-preventing-max- 실행 시간 제한 메일 및 http://stackoverflow.com/questions/21 47567/avoid-php-execution-time-limit – Gordon

답변

3

이 같은 ini_set()를 사용할 수를 설정

ini_set('max_execution_time', 0); 

0에가 documentation of the ini-directive에 따라 스크립트가 영원히 실행하게됩니다.

+0

내 함수에서 ini_set()을 어떻게 포함시킬 수 있습니까? – robert

+0

원하는 곳에 선을 삽입하십시오. 마법과 관련이 없습니다. – soulmerge

20

$second0로 설정하면 시간 제한이 http://php.net/manual/en/function.set-time-limit.php

set_time_limit($seconds) 

을 부과하지 않습니다를 참조하십시오. 시간 제한을 모두 제거하는 것은주의해야합니다. 무한 루프가 천천히 모든 서버 리소스를 먹는 것을 원하지는 않습니다. 최고 한도, 예 : 180은 제한이없는 것보다 낫습니다.

또는 특정 코드 블록에 대해서만 시간 설정을 조정하고 중요한 코드가 실행 된 후 시간 제한을 재설정 할 수 있습니다.

$default = ini_get('max_execution_time'); 
set_time_limit(1000); 
... some long running code here ... 
set_time_limit($default); 
+0

ok 나는 exec ($ command) 전에 set_time_limit (180)을 넣는다; 작동하는 것 같습니다! 하지만 시간이 만료 된 후 나는 어떻게 이런 식으로 오류를 반복하고 싶습니까 ?? – robert

+0

제한 시간이 만료되면 오류가 발생합니다. 그게 바로 당신이 질문을 던지게 한 이유입니다. 사용자 정의 오류 처리기를 원할 경우 http://php.net/manual/en/function.set-error-handler.php – Gordon

+0

예를 참조하십시오. 그러나 form.process 페이지를 iframe으로 시작하는 양식을 제출하면 이것을 반향하는 것만 가능 : 결과가 오류 또는 성공입니다! – robert

3

.htaccess에서이 값을 설정할 수 있습니다

php_value max_execution_time 1000000 
php_value max_input_time 1000000 

당신은 또한 당신의 PHP 스크립트의 상단이 시도 할 수 있습니다 : Btw는

set_time_limit(0); 
관련 문제