【问题标题】:php: get_headers Function Results Are Differentphp: get_headers 函数结果不同
【发布时间】:2010-12-05 12:56:52
【问题描述】:

我在 PHP 中使用 get_headers 函数从网站请求标头 在本地服务器返回数组 在我的网站中使用时放不返回数组

退货示例

在本地服务器中

大批 ( [0] => HTTP/1.1 301 已移动 [服务器] => 数组 ( [0] => nginx/0.7.42 [1] => Apache/2.2.11 (Unix) mod_ssl/2.2.11 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 [2] => Apache/2.2.11 (Unix) mod_ssl/2.2.11 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 [3] => 微软-IIS/7.0 ) [内容类型] => 数组 ( [0] => 文本/html;字符集=utf-8 [1] => 文本/html;字符集=iso-8859-1 [2] => 文本/html [3] => 文本/html;字符集=utf-8 ) [位置] => 数组 ( [0] => http//3.ly/aXP [1] => http//3.ly/aXP/ [2] => http//stackoverflow.com ) [MIME 版本] => 1.0 [内容长度] => 数组 ( [0] => 277 [1] => 376 [2] => 0 [3] => 122213 ) )

在真实服务器中

大批 ( [0] => HTTP/1.1 301 已移动 [服务器] => nginx/0.7.42 [日期] => 2009 年 10 月 10 日星期六 03:15:32 GMT [内容类型] => 文本/html;字符集=utf-8 [连接] => 保持活动状态 [位置] => http//3.ly/aXP [MIME 版本] => 1.0 [内容长度] => 277 )

我不会返回数组

谢谢....

【问题讨论】:

    标签: php get-headers


    【解决方案1】:

    似乎没有理由这样做。您应该将第二个参数设置为非零值以获取数组1:

    get_headers($url, 1);
    

    如果你这样做,它应该在任何地方都运行相同,除非 PHP 本身或有问题的服务器中存在错误(对于偶尔的用户来说,这两种情况都很罕见)。

    请注意,get_headers 遵循(多个)重定向并将每个重定向的标头存储为数组2

    array(11) {
      [0]=>
      string(30) "HTTP/1.0 301 Moved Permanently"
      ["Location"]=>  string(22) "http://www.google.com/"
      ["Content-Type"]=>  array(2) {
        [0]=>    string(24) "text/html; charset=UTF-8"
        [1]=>    string(29) "text/html; charset=ISO-8859-1"
      }
    ...
    

    重定向的特定标头值是连续存储的,因此看起来Content-Type[0] 可以与任何Locations 相关联,这使得数组格式无法正确获取每个重定向的标头。线数组格式也好不了多少,因为您需要解析标题。但是使用数组格式,您可以检测到最后一个位置等。

    【讨论】:

      【解决方案2】:

      PHP 在本地服务器和真实服务器上处理重定向的方式似乎有所不同。我认为您也可以在本地获取数组,但由于某种原因,本地 get_headers() 似乎不遵循重定向。

      两种环境下的 PHP 版本是否相同?

      【讨论】:

      • 感谢您的帮助 PHP版本在本地服务器5.2.6在真实服务器5.2.8
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-06
      • 2021-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-20
      相关资源
      最近更新 更多