php
PHP - set_time_limit 함수
void set_time_limit ( int $seconds )
(PHP 4, PHP 5)
자주 사용하는 함수는 아니지만 꼭 알아야 하는 험수입니다. 이 함수의 역할은 스크립트 최대 실행 시간을 제어하며, 값이 0이면 시간이 무제한입니다.
스크립트가 실행 가능한 시간을 초 단위로 입력합니다. 설정 시간을 초과할경우 스크립트는 치명적인 오류를 일으킵니다. 기본 제한은 30초로 php.ini 에 정의한 max_execution_time값이며, 만약, max_execution_time를 설정할 수 없는 환경이면 ini_set()함수로 제어할 수 있습니다.
다음은 무한으로 동작합니다. 당연히 서버에 큰 무리가 가겠죠. 그래서 30초 이내 스크립트가 종료되지 않으면, php 오류와 함께 스크립트를 강제로 종료해 버립니다.
그래서 다음과 같이 설정하면 300초가 지나야 스크립트가 종료될 것입니다.
(PHP 4, PHP 5)
자주 사용하는 함수는 아니지만 꼭 알아야 하는 험수입니다. 이 함수의 역할은 스크립트 최대 실행 시간을 제어하며, 값이 0이면 시간이 무제한입니다.
스크립트가 실행 가능한 시간을 초 단위로 입력합니다. 설정 시간을 초과할경우 스크립트는 치명적인 오류를 일으킵니다. 기본 제한은 30초로 php.ini 에 정의한 max_execution_time값이며, 만약, max_execution_time를 설정할 수 없는 환경이면 ini_set()함수로 제어할 수 있습니다.
<?php
// php 안전모드에서는 동작하지 않으며,
// php.ini를 수정할 수 없다면,
// max_execution_time 시간을 120초로 늘립니다.
ini_set('max_execution_time', 120);
echo ini_get('max_execution_time'); // 결과: 120
?>
<?php
// php가 안전모드가 아니라면 25초로 늘립니다.
if( !ini_get('safe_mode') ){
set_time_limit(25);
}
?>
다음은 무한으로 동작합니다. 당연히 서버에 큰 무리가 가겠죠. 그래서 30초 이내 스크립트가 종료되지 않으면, php 오류와 함께 스크립트를 강제로 종료해 버립니다.
<?php
$i=1;
while(true){
echo "$i <br />\n";
$i++;
}
?>
그래서 다음과 같이 설정하면 300초가 지나야 스크립트가 종료될 것입니다.
<?php
$i=1;
set_time_limit(300);
while(true){
echo "$i <br />\n";
$i++;
}
?>
0 댓글