我遇到了php的buildin会话功能问题。
当我启动会话时,客户端会按预期收到会话cookie。但cookie永远不会被发送回服务器
所有其他cookie都会被发送(多次检查)。主人是正确的,路径也是如此
php.ini文件似乎是正确的。
我也尝试重命名会话cookie但没有成功!
我想补充一点,每次访问网站时,我都会收到另一个会话cookie
另外,当我调试这个时,我添加了这一行error_log(print_r($_COOKIE, true));
作为我的代码的第一行。仍然没有会话cookie。
以下是我使用的一些代码:
// This function exists so that I only start the session once.
function start_session() {
if(session_id() == "") {
session_start();
setcookie(session_name(), session_id(), time() + ini_get("session.cookie_lifetime"));
// The client gets this cookie!
}
}
start_session();
我的php.ini中的 session.cookie_lifetime
是0
。这可能是原因吗?
我不知道是什么原因引起的。
答案 0 :(得分:0)
原因为#set( $maxSize = '${ws.client.pool.maxSize:5}' )
<bean id="fooServiceClientPoolTargetSource" class="org.springframework.aop.target.CommonsPoolTargetSource">
<property name="targetBeanName" value="fooServiceClientTarget"/>
<property name="maxSize" value="$maxSize"/>
,time() + ini_get("session.cookie_lifetime")
为session.cookie_lifetime
。这意味着cookie将立即过期。
将0
设置为类似session.cookie_lifetime
的内容。