这样的语句,很显然,造成这个原因是因为setcookie造成的,查了一下网上,有如下的解释: cookie本身在使用上有一些限制,例如:
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出现Cannot modify header information问题的解决方法大全_php技巧
时间: 2024-09-17 08:49:38
php出现Cannot modify header information问题的解决方法大全_php技巧的相关文章
php出现Cannot modify header information问题的解决方法
做项目时都需要准备一个统一的出错提示函数,小编在函数执行里面,先处理出错的地址写入cookie以方便用户登陆以后可以直接跳转到要执行的这个页面,可是发现在服务器上测试时,竟然提示本地没有出现的错误: Warning: Cannot modify header information - headers already sent by.... 这样的语句,很显然,造成这个原因是因为setcookie造成的,查了一下网上,有如下的解释: cookie本身在使用上有一些限制,例如: 1.呼叫setc
PHP错误Warning: Cannot modify header information - headers already sent by解决方法_php实例
今天在测试以下代码时遇到该错误: 复制代码 代码如下: session_start(); $_SESSION['username']=$username; echo "<script language='javascript'>location.href='../admin.php';</script>"; exit(); 出现错误: 复制代码 代码如下: Warning: Cannot modify header information - headers a
PHP提示Cannot modify header information - headers already sent by解决方法_php技巧
本文实例讲述了PHP提示Cannot modify header information - headers already sent by解决方法,是进行PHP程序设计过程中经常会遇到的问题.本文对此以实例形式分析解决方法.分享给大家供大家参考.具体方法如下: 现来看看这段代码: <?php ob_start(); setcookie("username","test",time()+3600); echo "the username is:&qu
PHP setcookie() cannot modify header information 的解决方法_php技巧
使用setcookie()函数时总是报以下错误: Warning: Cannot modify header information - headers already sent by.... 解决办法如下: 方法一: 在PHP里Cookie的使用是有一些限制的. 1.使用setcookie必须在<html>标签之前 2.使用setcookie之前,不可以使用echo输入内容 3.直到网页被加载完后,cookie才会出现 4.setcookie必须放到任何资料输出浏览器前,才送出 .....
Cannot modify header information错误解决方法_php技巧
<?php ob_start(); setcookie("username","宋岩宾",time()+3600); echo "the username is:".$HTTP_COOKIE_VARS["username"]."\n"; echo "the username is:".$_COOKIE["username"]."\n"; pr
解决”Cannot modify header information
发送头消息前不能有任何输出 任何修改或者发送HTTP头的函数都必须在 任何形式的输出 之前被调用 一些函数会修改HTTP头: header/header_remove session_start/session_regenerate_id setcookie/setrawcookie 而输出主要可能如下: 隐性输出 在 <?php 之前或者 ?> 之后的空格 UTF-8文件的 BOM头 之前出现的报错信息 显性输出 print , echo 和其它类似的输出函数 在 <?php 之间嵌
wordpress分页出现:Warning: Cannot modify header information
最近无意间查看网站 时,浏览了一下分类页,正常显示(也就是这个分类文章列表的第一页),然后点到下一页,正常显示,但是再点击第一页时,就出现在错误提示: Warning: Cannot modify header information – headers already sent by (output started at /home/hotzutic/domains/shop.ssmay.com/public_html/wp-config.php:1) in/home/hotzutic/dom
header与缓冲区之间的深层次分析_php技巧
测试header之前有输出 <?php echo 'hello world!'; header('content-type: text/html;charset=utf-8;'); 我经过测试时可以成功的,不会出现任何错误和警告.不知道你们是怎么样的?可是我想大多说都是没有问题,如果出现了Cannot modify header information - headers already sent这样的警告,这是是说不能修改头部信息,头部信息已经发送.下来就了解一下为什么会出现两种不同结果? 缓
php Cannot modify header information - headers already sent by set 解决方法
在 php 配置文件 php.ini 中将 output_buffering 设置为 On.开启即可. output_buffering = On ------------------------------- All or nothing, now or never. 有以下几种解决方法: 1. Blank lines (空白行): Make sure no blank line after <?php ... ?> of the calling php script. 检查有<?ph