
headers_sent 함수는 HTTP 헤더가 이미 출력된 경우 오류를 반환합니다. 이 오류를 해결하려면 headers_sent 함수를 사용하기 전에 HTTP 헤더를 출력하지 않도록 해야 합니다.
HTTP 헤더를 출력하지 않도록 하려면, PHP의 output buffering 기능을 사용하여 HTTP 헤더를 출력하기 전에 버퍼링을 시작한 후, 버퍼링을 종료한 후에 headers_sent 함수를 사용하면 됩니다.
다음은 예제입니다.
#hostingforum.kr
php
ob_start(); // 버퍼링 시작
// HTTP 헤더를 출력하는 코드
ob_end_flush(); // 버퍼링 종료
if (headers_sent()) {
// headers_sent 함수가 이미 출력되었다는 오류가 발생한 경우
echo "HTTP 헤더가 이미 출력되었습니다.";
} else {
// headers_sent 함수가 이미 출력되지 않은 경우
echo "HTTP 헤더가 출력되지 않았습니다.";
}
또는, PHP 5.3 이상에서 사용할 수 있는 Output Buffering Control Functions를 사용하여 HTTP 헤더를 출력하기 전에 버퍼링을 시작할 수 있습니다.
#hostingforum.kr
php
ob_start();
// HTTP 헤더를 출력하는 코드
ob_end_clean(); // 버퍼링 내용을 삭제
if (headers_sent()) {
// headers_sent 함수가 이미 출력되었다는 오류가 발생한 경우
echo "HTTP 헤더가 이미 출력되었습니다.";
} else {
// headers_sent 함수가 이미 출력되지 않은 경우
echo "HTTP 헤더가 출력되지 않았습니다.";
}
이러한 방법으로, headers_sent 함수를 사용하기 전에 HTTP 헤더를 출력하지 않도록 하여 오류를 해결할 수 있습니다.
2025-08-13 15:42