void set_time_limit ( int $seconds ) (PHP 4, PHP 5)

자주 사용하지는 않지만 주요한 부분 스크립트에 사용되는 핵심 부품정도로 중요하다 할 수 있습니다. 꼭 알아 둘 필요가 있습니다. 이 함수의 역할은 스크립트 최대 실행 시간을 제어하며, 값이 0이면 시간이 무제한입니다.

스크립트가 실행 가능한 시간을 초 단위로 입력합니다. 설정 시간을 초과할경우 스크립트는 치명적인 오류를 일으킵니다. 기본 제한은 30초로 php.ini 에 정의한 max_execution_time값이며, 만약, max_execution_time를 설정할 수 없는 환경이면 ini_set()함수로 제어할 수 있습니다.

예제 (ex #1

  <?php
 
// php 안전모드에서는 동작하지 않으며,
 // php.ini를 수정할 수 없다면, 
 // max_execution_time 시간을 120초로 늘립니다.
 
ini_set('max_execution_time'120
); 
 
 echo 
ini_get('max_execution_time'); 
// 결과: 120
 
?>

예제 (ex #2
 <?php 
 
// php가 안전모드가 아니라면 25초로 늘립니다. 
 
if( !ini_get('safe_mode'
) ){ 
      
set_time_limit(25
); 
 } 
 
?>

다음은 무한으로 동작합니다. 당연히 서버에 큰 무리가 가겠죠. 그래서 30초내 스크립트가 종료되지 않으면, php오류코드와 함께 스크립트를 강제 종료해 버립니다.
   
예제 (ex #3
 <?php
 $i
=1

 while(
true
){
      echo 
"$i <br />\n"
;
      
$i
++;
 }
 
?>

그래서 다음과 같이 설정하면 300초가 지나서야 스크립트가 종료될 것입니다.
 
예제 (ex #4
 <?php
 $i
=1

 
set_time_limit(300
); 
 while(
true
){
      echo 
"$i <br />\n"
;
      
$i
++;
 }
 
?>

블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요