php setcookie 出错,PHP setcookie无效的原因分析

PHP setcookie无效的原因分析

在PHP开发中,有时候你在本地开发测试过程中是正常的,但是上传到服务器环境时候便运行不正常了,最近遇到了这样一个问题,本地PHP开发环境中setcookie正常,在服务器中setcookie无效。仔细研究了研究,总结了一下 php setcookie 无效大概有以下三种原因。

一、程序文件存在 BOM 代码

对于这种情况,只需将源代码拷贝出来,然后新建一个文件保存进去即可。

至于如何查询文件是否存在 bom 代码,可参考本站文章:php bom去除工具,php批量去除bom的代码

二、检查PHP.ini里面相关cookie的设置

配置相关可以网络上面搜索。

三、php代码中使用了header()函数,且在 header 前面存在空格或者换行

header()函数发送一段文件头给浏览器,但是如果在使用这个函数之前已经有了任何输出(包括空输出,比如空格,回车和换行)就会提示出错。一般的情况下,清除掉前面的空格就可以了。但如果还是不行,你可以按如下操作:在页面顶部加上:

ob_start();//控制您的浏览器cache,加在setcookie代码之前,一般加在页面顶部

ob_get_clean();//输出浏览器cache,看看结果是否存在cookie,加在setcookie代码之后,一般加在页面最后

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值