Rumah php教程 php手册 Cannot modify header information

Cannot modify header information

Jun 13, 2016 am 10:58 AM
header headers modify keluar

总结,终极处理办法:修改php.ini文件  ; 把output_buffering默认为off的,改成4096  即可。

ob_start();
setcookie("username","宋岩宾",time()+3600);
echo "the username is:".$HTTP_COOKIE_VARS["username"]."\n";
echo "the username is:".$_COOKIE["username"]."\n";
print_r($_COOKIE);
?>
Warning: Cannot modify header information - headers already sent by出错的原因
我在php程序的头部加了,
header("cache-control:no-cache,must-revalidate");
之后页面就出现上面的错误,看了N个资料也没有结果。今天偶尔发现原来是我的php.ini里面的配置出了问题,在C:\windows\下找到php.ini文件
output_buffering默认为off的。我现在把它设为4096就OK了。
用于解决显示提示错误,不能按(日期+导出文件数)为文件名的错误信息.
setcookie函数必須在任何資料輸出至浏览器前,就先送出
基於上面這些限制,所以執行setcookie()函數時,常會碰到"Undefined index"、"Cannot modify header information - headers already sent by"…等問題,解決"Cannot modify header information - headers already sent by"這個錯誤的方法是在產生cookie前,先延緩資料輸出至瀏覽器,因此,您可以在程式的最前方加上ob_start();這個函數。
ob_start()函数用于打开缓冲区,比如header()函数之前如果就有输出,包括回车\空格\换行\都会有"Header had all ready send by"的错误,这时可以先用ob_start()打开缓冲区PHP代码的数据块和echo()输出都会进入缓冲区而不会立刻输出.当然打开缓冲区的作用很多,只要发挥你的想象.可以总结以下四点:

1.用于header()之前

ob_start(); //打开缓冲区
echo \"Hellon\"; //输出
header("location:index.php"); //把浏览器重定向到index.php
ob_end_flush();//输出全部内容到浏览器
?>

2.phpinfo()函数可获取客户端和服务器端的信息,但要保存客户端信息用缓冲区的方法是最好的选择.
ob_start(); //打开缓冲区
phpinfo(); //使用phpinfo函数
$info=ob_get_contents(); //得到缓冲区的内容并且赋值给$info
$file=fopen(\'info.txt\',\'w\'); //打开文件info.txt
fwrite($file,$info); //写入信息到info.txt
fclose($file); //关闭文件info.txt
?>

3.静态页面技术
ob_start();//打开缓冲区
?>
php页面的全部输出
$content = ob_get_contents();//取得php页面输出的全部内容
$fp = fopen("output00001.html", "w"); //创建一个文件,并打开,准备写入
fwrite($fp, $content); //把php页面的内容全部写入output00001.html,然后……
fclose($fp);
?>

4.输出代码
Function run_code($code) {
If($code) {
ob_start();
eval($code);
$contents = ob_get_contents();
ob_end_clean();
}else {
echo "错误!没有输出";
exit();
}
return $contents;
}


 

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah maksud pengepala linux? Apakah maksud pengepala linux? Jul 18, 2023 pm 03:34 PM

Pengepala Linux merujuk kepada permulaan fail atau aliran data, yang digunakan untuk mengandungi metadata tentang kandungan Dengan menulis dan menggunakan fail Pengepala dengan betul, pembangun boleh menggunakan sumber sistem dengan lebih baik dan meningkatkan kebolehbacaan dan Kebolehselenggaraan kod.

Bagaimanakah SpringBoot melepasi parameter dalam Pengepala melalui panggilan Feign? Bagaimanakah SpringBoot melepasi parameter dalam Pengepala melalui panggilan Feign? May 16, 2023 pm 08:38 PM

[SpringBoot] Melepasi parameter dalam Pengepala melalui panggilan Feign Cara menghantar parameter Pengepala melalui Perihalan Masalah Feign Apabila kami menggunakan Feign untuk meminta antara muka API perkhidmatan lain dalam Spring Cloud, terdapat keperluan untuk lulus parameter dalam Pengepala Jika tidak pemprosesan khas dilakukan, ia akan Parameter dalam Pengepala akan hilang. Penyelesaian 1: Lulus melalui @RequestHeader(name="headerName"). Contohnya: Feign ditakrifkan seperti berikut @FeignClient(name="service-name")pub

Bilakah Ark of Destiny Dreams akan keluar? Bilakah Ark of Destiny Dreams akan keluar? Mar 14, 2024 pm 03:00 PM

Ramai pemain ingin bertanya bila Ark of Destiny Sleepy Dream akan dikeluarkan Sleepy Dream pada 13 Mac. Terdapat juga pejuang profesional baharu Jia Nan, benua Rowan, Senjata Wira Pilihan Tuhan, BOSS baharu dan kandungan lain perincian Mari kita lihat kandungan pengenalan kepada masa pelancaran Ark of Destiny Sleepy Dreams ini. Panduan panduan Destiny Ark Bilakah Destiny Ark Sleepy Dream akan dikeluarkan Jawapan: 13 Mac Keperluan tahap item 1-Tahap 3 memerlukan tahap item untuk mencapai: 1540. Tahap 4 memerlukan tahap item untuk mencapai: 1560. , Tanda Mimpi, Jatuh putus asa. Lelaki pejuang profesional serba baharu 1. Ciri-ciri: Tenaga Syura, kumpul tenaga Syura untuk masuk [Negeri Tinju Raja] 2. Sifat profesional: Profesion jarak dekat 3. Senjata profesional: perisai lengan berat. New Continent Rowan 1. Bagaimana untuk membukanya

Apakah perbezaan antara kepala teg html5 dan pengepala? Apakah perbezaan antara kepala teg html5 dan pengepala? Jan 17, 2022 am 11:10 AM

Perbezaan: 1. Tag kepala digunakan untuk menentukan kepala dokumen, yang merupakan bekas untuk semua elemen kepala, dan tag pengepala digunakan untuk menentukan pengepala (maklumat pengenalan) dokumen 2. Semua pelayar menyokong teg kepala, dan versi penyemak imbas yang lebih lama Tiada penyemak imbas menyokong teg pengepala, dan penyemak imbas seperti IE9 dan ke atas diperlukan untuk menyokong teg pengepala.

Cara menggunakan kaedah PHP header() untuk melaraskan halaman web Cara menggunakan kaedah PHP header() untuk melaraskan halaman web Mar 28, 2023 pm 01:54 PM

PHP ialah bahasa pengaturcaraan yang berkuasa yang boleh digunakan untuk mencipta laman web dinamik dan aplikasi web. Salah satu ciri yang paling berkuasa ialah kaedah header() PHP. Dalam artikel ini, kami akan meneroka cara menggunakan kaedah header() PHP untuk melaraskan halaman web.

Bagaimana untuk melompat dalam pengepala php Bagaimana untuk melompat dalam pengepala php Dec 02, 2022 am 09:14 AM

Cara melaksanakan lompat dalam pengepala php: 1. Gunakan "Header("Location:$url");" untuk melaksanakan lompatan 2. Gunakan if judgment untuk melaksanakan lompatan, dengan pernyataan lompat seperti "if($_COOKIE[" u_type; "]){ header('lokasi:register.php'); } else{ setcookie('u_type','1','86400*360');".

Bagaimana untuk menambah, mengedit dan memadam baris jadual dalam jQuery? Bagaimana untuk menambah, mengedit dan memadam baris jadual dalam jQuery? Sep 05, 2023 pm 09:49 PM

Dalam era pembangunan web hari ini, pengurusan jadual yang berkesan dan cekap telah menjadi sangat penting, terutamanya apabila berurusan dengan aplikasi web berat data. Keupayaan untuk menambah, mengedit dan memadam baris secara dinamik daripada jadual boleh meningkatkan pengalaman pengguna dengan ketara dan menjadikan aplikasi lebih interaktif. Cara yang berkesan untuk mencapai ini adalah dengan memanfaatkan kuasa jQuery. jQuery menyediakan banyak ciri untuk membantu pembangun melaksanakan operasi. Baris jadual Baris jadual ialah koleksi data yang saling berkaitan, diwakili oleh elemen dalam HTML. Ia digunakan untuk mengumpulkan sel (diwakili oleh unsur) dalam jadual. Setiap elemen digunakan untuk menentukan baris dalam jadual, dan untuk jadual berbilang atribut, ia biasanya mengandungi satu atau lebih elemen. Syntax$(selector).append(co

Bagaimana Nginx mengedarkan melalui identiti dalam pengepala Bagaimana Nginx mengedarkan melalui identiti dalam pengepala May 11, 2023 pm 04:01 PM

Nginx boleh mengedarkan permintaan kepada pelayan yang berbeza berdasarkan pengecam tersuai dalam pengepala permintaan. Khususnya, anda boleh menggunakan arahan peta untuk memetakan pengecam tersuai dalam pengepala permintaan ke alamat pelayan hujung belakang yang berbeza, dan kemudian gunakan arahan proxy_pass untuk memajukan permintaan ke pelayan hujung belakang yang sepadan. Berikut ialah contoh fail konfigurasi: http{map$http_my_header$backend{defaultbackend1.example.com;value1backend2.example.com;value2backend3.example.com;}upstreambackend1{serv

See all articles