Rumah > Soal Jawab > teks badan
P粉5433443812023-08-28 14:09:21
Ini berlaku apabila skrip anda cuba menghantar pengepala HTTP kepada klien tetapi sudah ada output sebelum ini, menyebabkan pengepala telah dihantar kepada klien.
Ini adalah E_WARNING
dan ia tidak menghalang skrip.
Contoh biasa ialah fail templat seperti ini:
<html> <?php session_start(); ?> <head><title>My Page</title> </html> ...
session_start()
函数将尝试将带有会话 cookie 的标头发送到客户端。但是 PHP 在将 元素写入输出流时已经发送了标头。您必须将
session_start()
Bergerak ke atas.
Anda boleh menyelesaikan masalah ini dengan melihat baris sebelum kod yang mencetuskan amaran dan menyemak di mana ia dikeluarkan. Alihkan sebarang kod penghantaran pengepala sebelum kod ini.
Output yang sering diabaikan ialah penghujung PHP ?>
之后的新行。当 ?>
是文件中的最后一个内容时,省略它被认为是一种标准做法。同样,此警告的另一个常见原因是当开头的 apabila didahului oleh ruang, baris atau aksara yang tidak kelihatan, menyebabkan pelayan web menghantar pengepala dan ruang/baris baharu, jadi apabila PHP mula menghuraikan ia tidak akan dapat menyerahkan sebarang pengepala.
Jika anda mempunyai berbilang blok kod dalam fail anda, tidak sepatutnya terdapat sebarang ruang di antaranya. (Nota: Jika anda mempunyai kod yang dibina secara automatik, anda mungkin mempunyai berbilang blok)
Juga pastikan anda tidak mempunyai sebarang tanda pesanan bait dalam kod anda, seperti apabila skrip dikodkan sebagai UTF-8 dengan BOM.
Soalan berkaitan: