Weiß jemand, warum dieses Skript für mich auf jedem Server, den ich ausprobiert habe, erfolgreich ist? Ich wurde trotz der früheren Ausgabe vor dem Header-Aufruf erfolgreich an Google weitergeleitet.PHP Header Redirect Arbeiten trotz früherer HTML und Echo-Ausgabe?
Gemäß der PHP documentation wird angegeben, dass das Hinzufügen von Kopfzeilen nach der Ausgabe fehlschlägt und eine Warnung zurückgibt. Auf meinen Webservern sehe ich jedoch ein inkonsistentes Verhalten. Ich habe ähnliche Ansätze verwendet, um einige Dinge zu erreichen, und es hat gut geklappt, außer in einem Fall, in dem es nicht mehr funktionierte.
<?php
echo "lol";
?>
<html>
<?php
header("Location: http://www.google.com");
exit();
?>
Also, was ist das Geschäft? Erlauben neuere Versionen von PHP dies?
Meine PHP-Version ist PHP 5.5.9-1ubuntu4.14 auf Ubuntu 14.04 x64
Wahrscheinlich spuckt PHP etwas Caching (Ausgabepuffer), deshalb funktioniert es manchmal;) – Miro
Es wäre schön, wenn PHP auf allen Ausgaben standardmäßig deaktiviert wäre, so dass Sie Header jederzeit einfügen können. Ich würde gerne den wahren Grund wissen. – OwN
Wenn Sie die Ausgabe "halten" wollen, gibt es dafür Funktionen: http://php.net/manual/en/book.outcontrol.php. Auf der anderen Seite ist die gleichzeitige Ausgabe sehr wichtig für viele Anwendungsfälle ... – Miro