|
1.呼叫setcookie的 述必 放在<html>标签之前
2.呼叫setcookie之前,不可使用echo
3.直到 被重新 入後,cookie才 在程式中出
4.setcookie函数必 在任何 料 出至浏览器前,就先送出
5.……
基於上面 些限制,所以 行setcookie()函数时,常 碰到"Undefined index"、"Cannot modify header information - headers already sent by"…等 ,解 "Cannot modify header information - headers already sent by"这个 的方法是在产生cookie前,先延缓 料输出至浏览器,因此,您可以在程式的最前方加上ob_start();这个函 。这样就可以解决 了。 如果要加上ob_start()的话,不大可行,程序都写完了,才来改这个似乎有点郁闷.. 发现提示这个错误的时候,我就在想我本地怎么没提示这个问题呢,还以为是php.ini配置不一样,想想又不对,都是差不多的..
于是看看后面跟的那句"output started at...."意思是在setcookie之前已经在另一处有输出了,于是找到output started at后面跟的那个文件,看到第一行是空白的,然后才是<?php 这样开始,难道会是这一行的问题吗??我本地也有这一行呢,去掉,刷新再试,呵呵,果然出在这里,不再提示warning了
解决完毕!
解决方法二:
查找网上解决此问题的方法多是一样的,不过今天又遇到了这样的问题。试过之后发现可行:
在C盘的WINDOWS中找到php.ini 这个配置文件,然后查找一项:output_buffering将其值由原来的off改为on,重新启动Apache就ok了。
php技术:php出现Cannot modify header information问题的解决方法大全,转载需保留来源!
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。