如何在 Laravel Backpack 中管理超时

问题描述 投票:0回答:1

我正在使用 Backpack for Laravel 中的控制器导入联系人的 CSV (5)。在此过程中,我使用 Google Places API 来验证地址并取回其组件。

对于较大的 CSV,这可能需要一些时间,并且浏览器最终会在 2 分钟后显示以下错误:

请求超时 此请求处理时间太长,服务器超时。如果不应该超时,请联系 该网站的管理员增加“连接超时”。

我希望让这个过程能够持续运行所需的时间。它实时运行,并为最终用户提供进度条。

我尝试了以下方法:

  • 在控制器中的函数中添加

    set_time_limit(0);
    ,用于管理 Google 地方信息部分。

  • 在我的 cPanel PHP 设置中设置以下内容:

    • 最大执行时间 = 600
    • 最大输入时间= 600
  • 在 .htaccess 文件中设置以下内容:

    • 超时600
    • 保持活动超时 600
    • 代理超时 600
  • 在config/session.php中设置

    'lifetime' => env('SESSION_LIFETIME', 600),

奇怪的是,即使显示了该错误,数据仍在后台继续处理。

php laravel laravel-backpack laravel-backpack-5
1个回答
0
投票

我想通了。通过在我的 Laravel 项目文件夹(不是根文件夹)的 .htaccess 文件中添加以下代码,脚本将不会超时。

RewriteRule .* - [E=noabort:1]
RewriteRule .* - [E=noconntimeout:1]
SetEnv noconntimeout 1
© www.soinside.com 2019 - 2024. All rights reserved.