我的 php 為何無法送出 header 資訊

edited 十月 2013 in PHP新手區
如下測試,
請問為何我的 php 為何無法送出 header 資訊??
(我有用 headers_sent() 檢查,真的沒有,是 php.ini 沒設好嗎?)

php code:
=========
<?php
setcookie('foo', 'bar');
header("X-Sample-Test: foo");
header('Content-type: text/plain');
print_r(headers_list());
var_dump(headers_list());
?>

結果畫面:
=========
Array
(
[0] => X-Powered-By
[1] => Set-Cookie
[2] => X-Sample-Test
[3] => Content-type
)

array(4) {
[0]=>
string(12) "X-Powered-By"
[1]=>
string(10) "Set-Cookie"
[2]=>
string(13) "X-Sample-Test"
[3]=>
string(12) "Content-type"
}

原始討論: http://twpug.net/x/modules/newbb/viewtopic.php?topic_id=1311

評論

  • edited 三月 2006
    1. headers_list() 哪兒來的?
    2. headers_sent() 在哪個流程測試?

    我是覺得, header() 只是設定 header 資訊,確定要輸出資料時才會真的送出;你可以在那些 header() 下方試著 echo ,然後測試 header 有沒有被送出吧。
  • edited 三月 2006
    Sorry,描述的不是很清楚...

    headers_list() PHP 5 始有,程式碼其實是取自官網如下所列:
    http://hk.php.net/manual/hk/function.headers-list.php

    而差別就在我執行時的 output 只有印出這幾個 header 欄位而無欄位的值...

    原始 code 並無 headers_sent() .
    此是我為確定有無送出 header 資訊而加在 code 尾端的.
    if ( !headers_sent() ) {
    echo 'No header message sent!!';
    }
Sign In or Register to comment.