我想我已经把事情做好了。但是$ _SESSION变量在某些页面上加载正常,而在其他页面上则没有。只有当我重新安排目录以使URL更整洁时才会出现问题。即/account.php成为/account/index.php。所有页面都设置为在开始时加载此代码:
ob_start();
ini_set('display_errors',8191);
session_set_cookie_params(1800, "./" , "www.example.com", true, true);
session_save_path("/home/users/web/example/writeable-directory/");
session_start();
echo($_SESSION['username']);
大多数工作正常,但有两页没有。
当我使用以下代码时,它将在所有页面上回显test。
ob_start();
ini_set('display_errors',8191);
session_set_cookie_params(1800, "./" , "www.example.com", true, true);
session_save_path("/home/users/web/example/writeable-directory/");
session_start();
$_SESSION['username'] = "test";
echo($_SESSION['username']);
答案 0 :(得分:1)
结束需要更改
session_set_cookie_params(1800, "/home/users/web/example/unix-directory/" , "www.example.com", true, true);
感谢您的帮助:)
答案 1 :(得分:0)
在输出到浏览器之前使用session_start();
。建议使用session_start()
作为文件的第一行。
如果它仍无法正常工作,则可能无法设置正确的密钥。 检查输出。
<?
session_start();
echo '<pre>';
print_r($_SESSION);
echo '</pre>';