Overview
KB
Technical FAQ
PHP Manual
CSS2 Manual
HTML Manual
JS Guide
JS Reference
PhpDock Manual
Nu-Coder Manual
PhpExpress Manual
PHP Joomla
Development
Learn PHP
 
<headerheader_remove>
^Network FunctionsLast updated: Mon, 26 Oct 2026

header_register_callback

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

header_register_callback — Call a header function

Description

function header_register_callback(callable $callback): bool

Registers a function that will be called when PHP starts sending output.

The callback is executed just after PHP prepares all headers to be sent, and before any other output is sent, creating a window to manipulate the outgoing headers before being sent.

Warning

Callbacks are not stacked. Subsequent calls to header_register_callback() will silently de-register any existing callback, regardless of where it was set. Be aware that dependencies may overwrite the callback. Troubleshooting this scenario can be difficult.

Parameters

callback

Function called just before the headers are sent. It gets no parameters and the return value is ignored.

Return Values

Returns true on success or false on failure.

Examples

Example #1 header_register_callback() example

<?php

header('Content-Type: text/plain');
header('X-Test: foo');

function foo() {
 foreach (headers_list() as $header) {
   if (strpos($header, 'X-Powered-By:') !== false) {
     header_remove('X-Powered-By');
   }
   header_remove('X-Test');
 }
}

$result = header_register_callback('foo');
echo "a";
?>

The above example will output something similar to:

Content-Type: text/plain

a

Notes

header_register_callback() is executed just as the headers are about to be sent out, so any output from this function can break output.

Note:

Headers will only be accessible and output when a SAPI that supports them is in use.

See Also


<headerheader_remove>
^Network FunctionsLast updated: Mon, 26 Oct 2026