在PHP中重新打开一个会话
发布时间:2020-12-13 17:29:50 所属栏目:PHP教程 来源:网络整理
导读:如何在 PHP中重新打开会话,而不会收到头已发送警告? 在设置了我喜欢设置的所有会话变量后,我关闭与session_write_close()的会话.我这样做,因为只要会话打开,同一个客户端可能只有一个活动连接.但我喜欢有多个并行的. 但是,如果我稍后再设置一个会话变量,我
如何在
PHP中重新打开会话,而不会收到头已发送警告?
在设置了我喜欢设置的所有会话变量后,我关闭与session_write_close()的会话.我这样做,因为只要会话打开,同一个客户端可能只有一个活动连接.但我喜欢有多个并行的. 但是,如果我稍后再设置一个会话变量,我需要再次打开与会话session_start().这是有效的,但是由于我已经向客户端发送了代码,所以打印出“已发送的信头”警告.为什么要再次设置cookie? Cookie已经设置好了.只有我需要的是再次访问服务器上的会话文件. 嗯,我可以压制他们.但是是否有一种重新打开会话的方法,该会话已被session_write_close关闭,而不重新发送Cookie头? Cookie头已由第一个session_start()正确发送.所以第二个只需要让我回访到存储在Web服务器上的会话文件. <?php session_start(); // setting all the session vars I like to set session_write_close(); // <-- // To allow parallel requests by the same user,while this script is still running // Code that takes some time to execute // It also prints output,so no more cookie headers after this point @session_start(); // <-- works,but I like to use it without suppressing warnings $_SESSION['key'] = 'new value I like to store'; session_write_close(); ?> session_start(); ... session_write_close(); ... ini_set('session.use_only_cookies',false); ini_set('session.use_cookies',false); ini_set('session.use_trans_sid',false); ini_set('session.cache_limiter',null); session_start(); // second session_start 这将阻止php第二次调用php_session_send_cookie(). 虽然重组脚本似乎仍然是更好的选择… (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |