此函数在您从命令行运行 PHP 时将不起作用。它将始终返回一个空数组。这在使用 PHPUnit 或 Codeception 测试项目时可能是一个问题。
要解决此问题,请安装 xdebug 扩展并在 CLI 上使用 `xdebug_get_headers`。
<?php
$headers = php_sapi_name() === 'cli' ? xdebug_get_headers() : headers_list();
?>
(PHP 5, PHP 7, PHP 8)
headers_list — 返回已发送(或准备发送)的响应头列表
此函数没有参数。
返回一个包含头信息的数字索引数组。
示例 #1 使用 headers_list() 的示例
<?php
/* setcookie() 会自行添加响应头 */
setcookie('foo', 'bar');
/* 定义一个自定义响应头
这将被大多数客户端忽略 */
header("Example-Test: foo");
/* 在我们的响应中指定纯文本内容 */
header('Content-Type: text/plain; charset=UTF-8');
/* 要发送哪些头信息? */
var_dump(headers_list());
?>
上面的示例将输出类似于以下内容
array(3) { [0]=> string(19) "Set-Cookie: foo=bar" [1]=> string(17) "Example-Test: foo" [2]=> string(39) "Content-Type: text/plain; charset=UTF-8" }
注意:
只有在使用支持它们的 SAPI 时,才能访问和输出头信息。
此函数在您从命令行运行 PHP 时将不起作用。它将始终返回一个空数组。这在使用 PHPUnit 或 Codeception 测试项目时可能是一个问题。
要解决此问题,请安装 xdebug 扩展并在 CLI 上使用 `xdebug_get_headers`。
<?php
$headers = php_sapi_name() === 'cli' ? xdebug_get_headers() : headers_list();
?>