• 技术文章 >后端开发 >php教程

    php出现Cannot modify header information问题的解决方法大全_php技巧

    2016-05-17 09:37:34原创318
    这样的语句,很显然,造成这个原因是因为setcookie造成的,查了一下网上,有如下的解释: cookie本身在使用上有一些限制,例如:
    1.呼叫setcookie的敘述必須放在标签之前
    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后面跟的那个文件,看到第一行是空白的,然后才是解决完毕!
    解决方法二:
    查找网上解决此问题的方法多是一样的,不过今天又遇到了这样的问题。试过之后发现可行:
    在C盘的WINDOWS中找到php.ini 这个配置文件,然后查找一项:output_buffering将其值由原来的off改为on,重新启动Apache就ok了。
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:生成卡号php代码_php技巧 下一篇:PHP获取网卡地址的代码_php技巧
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• 用PHP来统计在线人数的四个方法详解• PHP+javascript液晶时钟_php基础• PHP中路径问题的解决方案_php基础• Symfony2框架学习笔记之HTTP Cache用法详解_PHP• PHP+redis实现添加处理投票的方法_PHP
    1/1

    PHP中文网