我现在使用 php session 来存储值并在页面之间传递它。
我进行基本检查,例如确保在每个页面上调用 session_start()
并检查浏览器中是否设置了 sessionid cookie,但该值在页面之间并不持久。
例如,我在一页上设置了$_SESSION["abc"]='abc'
,但是当我在另一页上打印时,它是空的。
我发现使用file存储cookie值时,并没有在指定路径创建对应的cookie文件。未创建 session 文件的原因可能是什么?
最佳答案
这对你有用吗?
<?php
session_start();
if (!isset($_SESSION['foo']))
$_SESSION['foo'] = 'hello';
var_dump($_SESSION['foo']);
如果您多次加载该页面,您是否看到过消息hello
?
如果是,那么您的问题与您的代码有关,这意味着您可能会在某处以某种方式破坏 session 值,但如果上述方法不起作用,则可能是您的 session.save_path
不可写。
这给了你什么?
<?php
var_dump(is_writable(ini_get('session.save_path')));
关于php - php编程时, session 值在页面之间不持久的原因可能是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10749112/