echo 'hello';setcookie('name', 'zhang');
利用输出掌握函数ob_start和ob_flush办理问题
将上面两行代码改写成:
//开启缓冲区ob_start();echo 'hello';setcookie('name', 'zhang');//输出缓冲区中的内容ob_flush();
现在问题虽然办理了,但并不完美,应把稳以下几点:
更多PHP输出掌握函数可查阅PHP官方文档:

https://www.php.net/manual/zh/ref.outcontrol.php#ref.outcontrol
框架中的设置Cookie目前主流的PHP框架都帮我们办理了此类问题,事理很大略,在框架里再封装一层操作Cooke和Session的一套工具,在程序任意位置随便利用,它们只是将这些设置语句压入栈内,等须要往浏览器输出数据时,先将栈内的Cookie或Session封装到header头内,然后再输出其他数据,因此在利用第三方框架时,只管即便用框架的Cookie或Session工具去操作,避免不必要的麻烦。