Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP의 sleep() 함수 완벽 가이드 – 스크립트 실행을 원하는 시간만큼 지연하기

PHP의 sleep() 함수는 현재 실행 중인 스크립트를 일정 시간 동안 일시 중지할 때 사용하는 함수입니다. 특정 작업 사이에 대기 시간이 필요하거나, API 요청 제한(rate limit)을 피하기 위해 간격을 두고 처리해야 할 때 유용하게 활용됩니다.

문법(Syntax)

sleep(sec)

매개변수(Parameters)

  • sec − 스크립트 실행을 지연시킬 초 단위의 시간입니다. 정수형 값을 입력하며, 0보다 큰 값이어야 합니다.

반환값(Return)

sleep() 함수는 성공적으로 실행되면 0을 반환합니다. 만약 호출이 신호(signal)에 의해 중단된 경우, 남은 지연 시간(초)을 반환합니다.

사용 예제

아래 예제는 sleep() 함수를 사용하여 스크립트 실행을 지연시키고, 그에 따라 출력되는 시간이 어떻게 변하는지 보여줍니다.

<?php
   echo date('h:i:s') . "<br>";
   // 10초간 대기
   sleep(10);
   echo date('h:i:s') . "<br>";
   // 5초간 대기
   sleep(5);
   echo date('h:i:s');
?>

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다. 첫 번째 출력 후 10초, 그 다음 출력 후 5초가 지난 시간이 표시되는 것을 확인할 수 있습니다.

02:54:50
02:54:52
02:54:57

참고 사항

  • sleep()은 초 단위로 지연시키며, 밀리초 단위의 더 짧은 지연이 필요하다면 usleep()(마이크로초 단위) 또는 time_nanosleep() 함수를 사용하는 것이 좋습니다.

  • 웹 서버 환경에서 긴 지연 시간을 설정하면 PHP의 max_execution_time 설정에 걸릴 수 있으므로 주의해야 합니다.

  • 지연 시간이 음수일 경우 PHP 8.0 이상에서는 ValueError가 발생합니다.