在同一域中具有多个 Laravel 实例时的会话/cookie 错误
Posted
技术标签:
【中文标题】在同一域中具有多个 Laravel 实例时的会话/cookie 错误【英文标题】:Session/cookie error when having multiple instance of Laravel in the same domain 【发布时间】:2012-10-25 08:37:28 【问题描述】:你好,我最近开始为我的 Facebook 应用程序使用 Laravel 框架,我创建了一个基本应用程序,我为每个新项目复制并从那里开始修改。我要做的第一件事是在 config/application.php 文件中更改应用程序密钥中的几个字母。
现在,如果我同时开发 2 个应用程序并在它们之间不断切换,我会遇到某种缓存/cookie 错误,这些错误会阻止我的应用程序显示。 我可以通过删除与我存储应用程序的域相关的 cookie 来摆脱它们,但据我了解,碰巧访问我的两个应用程序的用户可能会发生同样的事情。
我怎样才能让它正常工作?
这是我得到的错误:
Unhandled Exception
Message:
unserialize() [function.unserialize]: Error at offset 0 of 704 bytes
Location:
/mydomainpath/myapp/laravel/session/drivers/cookie.php on line 24
Stack Trace:
#0 /mydomainpath/myapp/laravel/laravel.php(40): Laravel\Error::native(8, 'unserialize() [...', '/data01/virt319...', 24)
#1 [internal function]: Laravel\closure(8, 'unserialize() [...', '/data01/virt319...', 24, Array)
#2 /mydomainpath/myapp/laravel/session/drivers/cookie.php(24): unserialize('??1?:????9O??.?...')
#3 /mydomainpath/myapp/laravel/session/payload.php(52): Laravel\Session\Drivers\Cookie->load('oBACwMEgwF2YXeZ...')
#4 /mydomainpath/myapp/laravel/session.php(35): Laravel\Session\Payload->load('oBACwMEgwF2YXeZ...')
#5 /mydomainpath/myapp/application/start.php(172): Laravel\Session::load()
#6 /mydomainpath/myapp/laravel/bundle.php(102): require('/data01/virt319...')
#7 /mydomainpath/myapp/laravel/laravel.php(76): Laravel\Bundle::start('application')
#8 /mydomainpath/myapp/public/index.php(34): require('/data01/virt319...')
#9 main
【问题讨论】:
【参考方案1】:您的 cookie 设置在您的项目中应该有所不同。如果他们不这样做,那可能是它被覆盖的原因。
检查你的 application/config/session.php 文件。
【讨论】:
我必须更改 cookie 名称,以便它们在不同的应用程序上有所不同。这样做可以使一个应用程序不会覆盖另一个应用程序的会话 cookie。以上是关于在同一域中具有多个 Laravel 实例时的会话/cookie 错误的主要内容,如果未能解决你的问题,请参考以下文章
使用 Nginx 在同一域中具有不同位置的多个配置(React App)
如何检查用户是不是通过 Laravel 上的 cookie 会话进行身份验证?