带有 Webmin、Apache Centos 6、Laravel 应用程序和旧数据库架构的新 VPS 服务器。在旧的共享主机上一切正常,但在 VPS 上由于某种原因 Laravel 的会话存储(Laravel 3.0)不再在 Safari 或 Internet Explorer 上工作。
看来会话 ID 没有保存在客户端上。强制 Laravel 会话 ID 保存在客户端浏览器上是一个好方法吗?
当 Chrome/Firefox 看起来工作得很好时,Safari/IE 存储 cookie 的方式有哪些差异可能会导致此问题?
如果服务器上的时间/时区不正确,Cookie 可能会出现问题。检查服务器上的时区/时间设置。
请注意,您需要检查操作系统中的实际时间/时区,而不仅仅是 PHP 中的时区。但是您可以通过在 PHP 中设置时区来验证使用 PHP (date_default_timezone_set()
) 到您当地时间并向 PHP 询问日期;如果不匹配,则服务器设置不正确。请注意,调整 PHP 中的时区以使其看起来正确并不能解决 cookie 问题,您必须使用操作系统中的“日期”正确设置操作系统时间/时区。
验证这是否是问题的另一种方法:将 cookie 设置为一年后过期 - 它们会显示吗?如果时区错误,那么这些将显示(>时区差异),但 2 小时 cookie 可能不会(
原因:由于 Cookie 是使用实际时间设置的(即“此 Cookie 于 2013 年 7 月 25 日 15:13 GMT 过期”)。如果您的本地计算机的设置与服务器不同,则 cookie 在发送之前可能会显示为已过期。某些浏览器可以纠正此问题(FF 过去可以,Chrome 现在也可以)。
由于这里改变的是服务器,请检查服务器上的时间。 (还要仔细检查您自己的计算机以进行良好测量)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)