PHP 无法检测 Firefox 中的会话值
在 IE 中,会话有效,但在 Firefox 中,它始终返回空值。
我在 index.php 中设置了 $_SESSION['apple']='1'
当执行 Flex 4/flash 应用程序时,该应用程序将允许用户使用 filereference
浏览图像文件以上传到服务器(这个应用程序是图像上传器),然后该文件将传递到 secondary.php 以验证它是否是图像。
在 secondary.php 本身中,我有一个函数需要检索在 index.php 中设置的 $_SESSION['apple'] 值,它在 Firefox 和 Chrome 中总是返回空字符串,但在 IE9 上工作。
有人在 Firefox 和 Chrome 上遇到过与 $_SESSION 相同的问题吗?
如何确保 secondary.php 可以检索 $_SESSION?
In IE, the session work, but in Firefox, it always return empty value.
I have set $_SESSION['apple']='1' in index.php
When executing a Flex 4/flash app that will allow user to browse an image file using filereference
for upload to the server (this app is image uploader), the file will then pass to second.php to validate whether it is an image.
In the second.php itself, I have a function that need to retrieve $_SESSION['apple'] value which was set in index.php, it always return empty string in Firefox and Chrome but work on IE9.
Has anyone came across the same problem with $_SESSION on Firefox and Chrome?
How do I make sure the second.php can retrieve $_SESSION?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
Flash/Flex 等 Adobe 产品不会在 IE 以外的其他浏览器中将浏览器 cookie 传递回服务器。对于来自 flash 的每个请求,您都需要自行将会话 ID 传递回服务器。
在 PHP 中,您可以使用以下代码启用会话:
如果它对您不起作用并且您安装了 suhosin/hardenet 补丁,您可能必须关闭 session_cookie 加密。 (不记得确切的选项 - 我的一个同事曾经偶然发现过这样的问题)
Adobe Products like Flash/Flex do not pass browser cookies back to the server in other browsers than IE. You need to pass the session ID back to the server on your own for every request from flash.
in PHP, you can enable the session with the following code:
If it doesn't work out for you and you have the suhosin/hardenet patch installed, you might have to turn session_cookie encryption off. (can't remember the exact option - one of my corworks once stubled upon such an issue)
请参阅相应的错误和解决方法。
您可以找到许多具有相同问题的其他错误:
See corresponding bug and workaround.
You can find a lot of other bugs with the same problem:
由于 PHP 运行在服务器上,因此不太可能是浏览器的结果。最常见的问题是:您是否在所有以任何方式使用
$_session
的 php 文件中使用了session_start()
?As PHP runs on the server, it's not very likely it's the result of the browser. Most common problem is: did you use
session_start()
in all your php files that use the$_session
in any way?尝试使用 AMFPHP,它将帮助您使用 PHP + Flex 进行开发。
http://silexlabs.org/amfphp/
Try using AMFPHP, it will help you develop with PHP + Flex.
http://silexlabs.org/amfphp/