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 조정, 코드 최적화 |
📚 관련 글
728x90
반응형
'PHP > PHP 에러 해결 모음' 카테고리의 다른 글
PHP Undefined Index / Variable 에러 원인과 해결 방법 (0) | 2025.04.09 |
---|---|
PHP include 에러 해결법 - Failed to open stream 원인과 해결 방법 (0) | 2025.04.08 |
PHP Call to undefined function 에러 원인과 해결 방법 총정리 (0) | 2025.04.08 |
session_start() 에러 - headers already sent 원인과 해결법 (PHP 에러 해결 모음) (0) | 2025.04.08 |
PHP에서 ‘headers already sent’ 에러가 나는 이유와 해결 방법 (0) | 2025.04.08 |