PHP无法在Firefox中检测会话值

时间:2011-05-20 14:47:05

标签: php flex actionscript

在IE中,会话工作,但在Firefox中,它总是返回空值。

我在index.php中设置了$ _SESSION ['apple'] ='1'

执行允许用户使用filereference浏览图像文件以上传到服务器的Flex 4 / Flash应用程序(此应用程序是图像上传程序)时,该文件将传递给second.php进行验证是否是图像。

在second.php本身,我有一个函数,需要检索在index.php中设置的$ _SESSION ['apple']值,它总是在Firefox和Chrome中返回空字符串但在IE9上工作。

有没有人在Fi​​refox和Chrome上遇到与$ _SESSION相同的问题?

如何确保second.php可以检索$ _SESSION?

4 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

像Flash / Flex这样的Adobe产品不会将浏览器cookie传递回IE以外的其他浏览器中的服务器。对于来自flash的每个请求,您都需要自己将会话ID传递回服务器。

在PHP中,您可以使用以下代码启用会话:

 if (isset($_GET['session_id'])) session_id($_GET['session_id']);
 session_start();

如果它无法解决并且您安装了suhosin / hardenet补丁,则可能必须关闭session_cookie加密。 (不记得确切的选项 - 我的一个corworks曾经遇到过这样的问题)

答案 2 :(得分:0)

当PHP在服务器上运行时,它不太可能是浏览器的结果。最常见的问题是:您是否在所有使用session_start()的php文件中使用$_session

答案 3 :(得分:0)

尝试使用AMFPHP,它将帮助您使用PHP + Flex进行开发。

http://silexlabs.org/amfphp/