微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php setcookie 在没有 ob_start 的输出后工作

如何解决php setcookie 在没有 ob_start 的输出后工作

PHP 版本是:

PHP 7.2.24-0ubuntu0.18.04.7 (cli) (built: Oct  7 2020 15:24:25) ( NTS )
copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0,copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.24-0ubuntu0.18.04.7,copyright (c) 1999-2018,by Zend Technologies

我的代码是:

error_reporting(E_ALL);
ini_set("display_errors",1);
echo 'some random output ';
$adminCookie = "emFrYXRfZWxtX3JvYm90";
setcookie("admin",$adminCookie,time()+3600*3000,"/");

我预计会出现错误,因为 cookie 进入标头部分并且数据无法在它之前发送。

否则会报错:

Warning: Cannot modify header information - headers already sent by (output started at /location/to/script.PHP) in /location/to/script.PHP on line x

但是代码运行良好,没有显示错误! 使用chromes内置工具检查后将cookie添加到浏览器中。 在 PHP 7.2.24-0ubuntu0.18.04.7 上认启用 ob_start() 吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。