簡體   English   中英

PHP:演示已發送的標題

[英]PHP: Demonstrate Headers Already Sent

注意:我不是要解決headers already sentheaders already sent問題。 我正在嘗試創建一個!

我以為我了解導致此錯誤的原因,因此我正在嘗試向一些學生演示該錯誤。 這是一個示例腳本:

Hello

<?php
    ini_set('display_errors',1);
    error_reporting(E_ALL);

    print 'This space for rent …';

    setcookie('test',12);
    header('Testing');
?>

如您所見,在設置標頭之前,我正在盡最大努力發送輸出,或者通過設置cookie間接地或者直接使用header()函數。

問題聽起來很奇怪,我如何才能顯示此錯誤?

如果在php.ini中啟用了輸出緩沖,則在捕獲並發送輸出時不會拋出錯誤。 這有點像防止這些錯誤的“懶人”方式,而不是實際修復導致它們的腳本。 您可以通過將其關閉或在輸出之前用ob_end_clean()之類的內容結束輸出緩沖來創建錯誤(然后輸出,然后輸出標頭)

要創建此錯誤,只需在頁眉之后的任何位置使用header()函數。

<html>
<head>
<title>.....</title>
</head>
<?php
header("location:index.php");
?>

確保您的php.ini也設置為顯示這些錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM