這是我的文件。我想讓它重定向,但沒有任何反應。要檢查發生了什麼,我在標題部分之前添加了一個回顯。PHP標題位置重定向不起作用 - 爲什麼?
它既不會引發錯誤或重定向到index.php。哪裏不對? 我已經打開/關閉輸出緩衝,但沒有使它重定向。我能做什麼?
<?
error_reporting(E_ALL);
echo 'This is an error';
header("Location: login.php");
die();
?>
感謝
這是我的文件。我想讓它重定向,但沒有任何反應。要檢查發生了什麼,我在標題部分之前添加了一個回顯。PHP標題位置重定向不起作用 - 爲什麼?
它既不會引發錯誤或重定向到index.php。哪裏不對? 我已經打開/關閉輸出緩衝,但沒有使它重定向。我能做什麼?
<?
error_reporting(E_ALL);
echo 'This is an error';
header("Location: login.php");
die();
?>
感謝
我提醒自己,我已經在實際的測試環境中安裝了XDebug和谷歌上搜索之後,我發現這個網站:http://bugs.xdebug.org/view.php?id=532
所以我會下載xDebug的最新版本,並相應地更改了php.ini文件,所有內容都像魅力一樣。標題正在發送 - 重定向完成並顯示錯誤。
謝謝大家的幫助!
我知道這就是爲什麼我在header() - call之前做出回聲。它在其他服務器上發生錯誤,應該這樣做。爲什麼沒有發生? – Industrial 2010-04-25 21:40:58
改變標題的替代方法是使用:'<?php echo「」?>' – 2012-11-10 23:19:23
之前您是否啓用短標記? 與長標籤<?php
嘗試:
<?php
error_reporting(E_ALL);
header("Location: login.php");
die();
?>
是的,我確實有短標記設置啓用,罰款,除了標題的東西... – Industrial 2010-04-25 22:16:50
是否啓用了display_errors?
@Gumbo - 當然是!
好吧,它肯定不是。因爲
要檢查發生了什麼,我在標題部分之前添加了一個回顯。
如果您啓用了display_errors,它將顯示錯誤,至少在您turned output buffering on
時。
所以,首先確保你可以看到錯誤信息。
剛剛打印出一個未定義的變量,
error_reporting(E_ALL);
echo $undef9306;
我相信你不會看到它。 所以,你必須打開顯示錯誤
接下來,在服務器端,您可以使用headers_sent()
函數來查看是否發送標頭。在客戶端使用HTTP嗅探器來查看是否發送了任何東西
然後檢查文件的BOM。
嗨。恐怕不是。 Display_errors被啓用,但它是xDebug導致這...感謝您的幫助上校! – Industrial 2010-04-26 15:09:35
是* display \ _errors *是否啓用? – Gumbo 2010-04-25 21:39:29
@Gumbo - 當然是! – Industrial 2010-04-25 21:42:44
您提供的代碼是否至少輸出'這是一個錯誤'? – timdev 2010-04-25 21:48:01