DEV WIKI
백엔드 · 오류·증상

Warning: Cannot send session cookie - headers already sent...

오류 메시지·상태명

최종 검토
2026-07-24
참고 자료
있음
관련 기술

빠른 답변

이 오류는 무엇인가요?
PHP에서 세션 쿠키를 전송하려 할 때 헤더가 이미 전송된 경우 표시되는 경고입니다.
가장 흔한 원인은 무엇인가요?
`headers_sent()`로 헤더가 이미 전송되었는지 확인하고, `header()`, `setcookie()`, 세션 함수는 다른 콘텐츠보다 먼저 사용합니다.
무엇을 먼저 확인해야 하나요?
`headers_sent()`로 스크립트가 이미 헤더를 전송했는지 확인합니다.

현재 증상

  • 애플리케이션 오류 메시지

먼저 확인할 항목

`headers_sent()`로 스크립트가 이미 헤더를 전송했는지 확인합니다.

`headers_sent()`가 헤더가 이미 전송되었음을 확인하면 이 문서가 설명하는 상황에 해당합니다.

피해야 할 조치

주의

  • 출력 순서를 변경하기 전 현재 코드와 변경 대상을 기록하고, 가능한 경우 백업 또는 내보내기를 수행합니다.
  • 한 번에 한 항목만 변경하며, 장애나 오류가 발생하면 기록한 이전 값으로 복구합니다.

환경별 원인과 조치

Warning: Cannot send session cookie - headers already

sent...

증상

다음 오류 메시지가 표시됩니다.

Warning: Cannot send session cookie - headers already sent...

같은 상황에서 다음 메시지가 표시될 수 있습니다.

Cannot add header information - headers already sent...

확인

headers_sent()를 사용해 스크립트가 이미 헤더를 전송했는지 확인합니다.

  • 이미 헤더가 전송된 것으로 확인되면 이 문서가 설명하는 상황에 해당합니다.
  • 헤더가 아직 전송되지 않은 것으로 확인되면 이 원문만으로는 해당 상황으로 판정할 수 없습니다.

조치

header(), setcookie(), 세션 함수는 HTML 등 다른 콘텐츠를 출력하기 전에 사용합니다.

PHP 공식 문서는 Output Control 함수를 함께 참고하도록 안내합니다.

운영 주의사항

출력 순서를 변경하기 전 현재 코드와 변경 대상을 기록하고, 가능한 경우 백업 또는 내보내기를 수행합니다. 한 번에 한 항목만 변경하며, 장애나 오류가 발생하면 기록한 이전 값으로 복구합니다.

출처: PHP Manual — Using PHP FAQ (새 창에서 열림)

참고 자료

PHP · 공식 자료 (새 창에서 열림)

확인 범위: `header()`, `setcookie()`, 세션 함수는 출력 스트림에 헤더를 추가해야 합니다., 헤더는 다른 모든 콘텐츠보다 먼저 전송할 수 있습니다., `headers_sent()`는 스크립트가 이미 헤더를 전송했는지 확인합니다., PHP 공식 문서는 Output Control 함수를 함께 참고하도록 안내합니다. · 확인일: 2026-07-24