无法设置PHP$\u会话变量

无法设置PHP$\u会话变量,php,session,cookies,Php,Session,Cookies,问题是:尽管启动了会话并声明了变量,但实际上并没有设置变量,并且不能在其他页面上调用 使用Web检查器,我可以看到PHPSESSID cookie已设置,并且在我试图调用变量的第二个页面上也是如此。但是没有变量 守则: ../test1.php <?php // Start the session session_start(); $session_name = 'trialAndError'; // Set a custom session name // Set session

问题是:尽管启动了会话并声明了变量,但实际上并没有设置变量,并且不能在其他页面上调用

使用Web检查器,我可以看到PHPSESSID cookie已设置,并且在我试图调用变量的第二个页面上也是如此。但是没有变量

守则:

../test1.php

<?php
// Start the session
session_start();
$session_name = 'trialAndError';   // Set a custom session name

// Set session variables
$_SESSION["favcolor"] = "green";
$_SESSION["favanimal"] = "cat";

?>

然后我试着在下一页调用这个变量…但是我什么都没有得到

../test2.php

<?php
session_start();
$session_name = 'trialAndError';   // Set a custom session name

// Echo session variables that were set on previous page
echo "Favorite color is " . $_SESSION["favcolor"] . "<br>";
echo "Favorite animal is " . $_SESSION["favanimal"];
?>

加载../test2.php时,页面显示:

最喜欢的颜色是
最喜欢的动物是

当我检查web检查器时,我看不到会话变量


有什么建议吗?

问题是您的主机未能正确设置服务器,因此您无法写入会话文件。虽然您可以设置自己的会话路径,但让主机修复其配置可能是个不错的主意

要设置您自己使用的路径,请从该页面:

session.save_path字符串session.save_path定义了 传递给保存处理程序。如果选择默认文件 handler,这是创建文件的路径。另见 会话保存路径()


您通常不会看到会话变量,只有会话cookie(通常称为PHPSESSID)可以看到吗?完整的错误检查并显示在:在php页面顶部添加:
ini_集('display_errors','on');ini_集('html_错误',0);错误报告(-1)现在您看到了问题所在:“警告:未知:打开(/var/php_sessions/sess_7452199232ec343293deea2def427b1,O_RDWR)失败:第0行未知中没有此类文件或目录(2)警告:未知:写入会话数据(文件)失败。请验证session.save_path的当前设置是否正确(/var/php_sessions)在第0行的“未知”中,“联系主机是最简单\最好的选项”您好,我无法在我的网站上创建会话,因为会话路径目录不存在或不可写“刚刚与托管我的网站的iPage聊天。他们说php.ini从未被激活,这是他们的错误。几个小时后,问题得到解决,../test2.php现在读取正确的变量。谢谢你的帮助!!!是的,这是你付钱给他们的;-)只要记住,当你有错误报告的时候,你得到了多少有用的信息,应该总是这样发展的