PHP/PHP 에러 해결 모음

PHP 실행 시간 초과 에러 (Maximum execution time) 원인과 해결 방법

backend.log 2025. 4. 8. 16:10
728x90
반응형

📌 PHP 실행 시간 초과 에러 (Maximum execution time) 원인과 해결 방법

PHP를 실행했는데 아래와 같은 에러 메시지를 만난 적 있으신가요?

Fatal error: Maximum execution time of 30 seconds exceeded in /경로/파일.php on line 42

이 에러는 PHP가 설정한 최대 실행 시간(max_execution_time)을 초과하면 자동으로 발생합니다.
즉, 스크립트가 너무 오래 실행되어 강제로 중단된 것입니다.


🧨 에러 원인

  • 기본적으로 PHP는 서버 부하 방지를 위해 실행 시간을 제한합니다.
  • 기본값은 보통 30초이며, 작업이 오래 걸리면 자동으로 종료됩니다.

❗ 자주 발생하는 상황

  • 무한 루프 또는 반복문 오작동
  • 대용량 데이터 처리 (예: 수천 건 이상 반복)
  • 외부 API 응답 지연
  • sleep(), file_get_contents() 등 블로킹 함수 사용

🛠 해결 방법

1. PHP 실행 시간 설정 변경

php.ini에서 전역 설정:

max_execution_time = 60

스크립트 내에서 일시적 설정:

<?php
  set_time_limit(60); // 60초로 설정
?>

set_time_limit(0)으로 제한을 없앨 수도 있지만 서버에 부담이 갈 수 있어 주의!

2. 코드 최적화

  • 불필요한 반복 제거
  • 작업 분할 (페이징, 배치 등)
  • 캐시 또는 비동기 처리 적용

3. 서버 설정 확인

  • 아파치: .htaccess 또는 php.ini 설정 확인
  • CLI: php -d max_execution_time=0 script.php 형식으로 실행 가능

✅ 정리

항목 내용
에러 내용 스크립트가 최대 실행 시간 초과 시 강제 종료
기본 시간 30초 (서버 설정값)
해결 방법 set_time_limit(), php.ini 조정, 코드 최적화

📚 관련 글

🧩 PHP 에러 시리즈 전체 보기

 

728x90
반응형