【问题标题】:Capture header in PHP-CGI在 PHP-CGI 中捕获标头
【发布时间】:2014-06-01 19:04:13
【问题描述】:

当通过 php-cgi 运行时,我试图从 PHP 文件中获取所有 HTTP 标头输出。从我读过的所有内容来看,php-cgi 应该默认输出所有标题。 (甚至还有一个选项可以抑制这种情况,就好像它是自动发生的一样。)

我有一个名为“test.php”的 PHP 文件,内容如下:

header('Location: http://stackoverflow.com');
echo 'test';

但是当我运行它时:

php-cgi -f test.php

输出很简单:

test

我希望首先输出位置标头。我怎样才能得到这个标题信息?我正在使用 PHP 5.5.3-1ubuntu2.3 (cgi-fcgi)。

【问题讨论】:

标签: php http-headers cgi fastcgi


【解决方案1】:

我明白了!我在 -f 参数的文档定义中注意到它“暗示'-q'”。

所以这是解决方案:

php-cgi test.php

(没有 -f 参数)

【讨论】:

    【解决方案2】:

    问题是设置标题后您没有退出脚本。你需要做更多这样的事情

    header('Location: http://stackoverflow.com');
    exit();
    

    否则 header() 之后的代码也会运行

    【讨论】:

    • 谢谢 - 这也无济于事。我想通了,但作为新用户无法回答我自己的问题。原来问题是调用 php-cgi 时的 -f 参数。文档说“Implies -q”,它禁止标题!
    猜你喜欢
    • 1970-01-01
    • 2015-05-22
    • 2023-03-24
    • 2011-02-27
    • 2023-03-12
    • 2011-06-24
    • 2011-08-27
    • 2013-06-11
    • 1970-01-01
    相关资源
    最近更新 更多