【问题标题】:Laravel 5.5 Sessions not saving after using Paypal使用 Paypal 后 Laravel 5.5 会话未保存
【发布时间】:2018-04-02 02:11:33
【问题描述】:

我已经检查了几个问题并尝试了所有方法,但没有帮助。

我想使用 Laravel Sessions 来存储一些数据,但它们不会持久化。

代码是这样的:

public function payment (Request $request)
{
$data = "somedata";
$provider = new Provider();

       $request->session()->put("data",$data);
       $request->session()->put("provider",$provider);

       $response = $provider->setExpressCheckout($data);

       return redirect($response['paypal_link']);
}

当我打开时会发生这种情况,比如说 www.mypage.com/pay

当我在这里使用dd($request->sesion()->all()); 时,会话已经保存。

现在用户被重定向到 Paypal,结帐后它被重定向到我的应用程序的某个地方。

public function aferpay(Request $request)
{
dd($request->sesion()->all());
}

当这个函数被调用时,之前的 url "url" => "www.mypage.com/pay" 很好,即使它来自 Paypal,但其余的数据已经不存在了。

有什么帮助吗?

【问题讨论】:

  • 我认为问题在于您离开了您的网站。尝试使用 cookie 或在 paypal api 用来将用户重定向到您的网站的返回 url 中保存一些信息。

标签: php laravel session


【解决方案1】:

检查您的会话配置是否有任何疏忽,尤其是会话域。

确保会话驱动程序正常工作,如果您使用文件会话,请确保会话目录是可写的并且有足够的可用磁盘空间。

最后,确保您在没有 www 的情况下不会访问 mypage.com/pay,并且 paypal 会重定向到 www.mypage.com/pay,并且会话不会因此而停留 - 将 .mypage.com 设置为会话域将解决此问题。

如果一切都失败了,请附上您的mypage.com/pay 页面的 set-cookie 响应标头。

【讨论】:

    猜你喜欢
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-15
    • 2018-07-02
    • 2020-10-03
    • 1970-01-01
    • 2014-10-12
    相关资源
    最近更新 更多