我有一个类似的问题,如果不是这个线程中的问题相同: 只在谷歌Chrome和URL重写中随机丢失会话变量
但是该线程中的所有解决方案对我都不起作用.我在我的PHP/MySQL应用程序中只从Google Chrome中获得了一个奇怪的行为.如果我尝试使用Firefox,它可以运行,但Chrome不会.
我导航到购物车中的某个地方,代码中的几个地方我将存储会话数据.不要担心我开始会议或与此相关的任何事情,我已经在webapp开发工作了11年,一切都很好.
在所有浏览器中,我都可以var_dump($_SESSION)恢复我的数据,但在Chrome中,它不会保留数据.另请注意,会话确实已经传递,我可以查看网络监视器,我看到正在发送的cookie以及与会话工作相关的许多其他事情但是$_SESSION['last_viewed_element']没有保留.我似乎也无法设置任何其他东西,所有人都迷失了.
编辑:
从SESSIONS切换到COOKIES解决了问题...
使用谷歌浏览器,我似乎在页面之间导航时丢失/损坏会话数据(PHP 5.0.4,Apache 2.0.54).该网站在IE7/8,Firefox,Safari和Opera中运行良好.该问题仅适用于Google Chrome.
我缩小了问题范围.我正在使用搜索友好的URL,并通过.htaccess文件隐藏我的前端控制器(index.php).所以URL看起来像:www.domain.com/blah/blah/这是.htaccess文件内容:
Options +FollowSymlinks
RewriteEngine on
#allow cool urls
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.php [L]
#allow to have Url without index.php
Run Code Online (Sandbox Code Playgroud)
如果我删除.htaccess文件,并在网址中公开前端控制器:www.domain.com/index.php/blah/blah/,Chrome就可以正常工作.
有什么想法吗?我认为Chrome识别使用哪种cookie并发送到服务器有什么问题?这发生在Chrome 4和5中.谢谢!