我正在使用 Backpack for Laravel 中的控制器导入联系人的 CSV (5)。在此过程中,我使用 Google Places API 来验证地址并取回其组件。
对于较大的 CSV,这可能需要一些时间,并且浏览器最终会在 2 分钟后显示以下错误:
请求超时 此请求处理时间太长,服务器超时。如果不应该超时,请联系 该网站的管理员增加“连接超时”。
我希望让这个过程能够持续运行所需的时间。它实时运行,并为最终用户提供进度条。
我尝试了以下方法:
在控制器中的函数中添加
set_time_limit(0);
,用于管理 Google 地方信息部分。
在我的 cPanel PHP 设置中设置以下内容:
在 .htaccess 文件中设置以下内容:
在config/session.php中设置
'lifetime' => env('SESSION_LIFETIME', 600),
奇怪的是,即使显示了该错误,数据仍在后台继续处理。
我想通了。通过在我的 Laravel 项目文件夹(不是根文件夹)的 .htaccess 文件中添加以下代码,脚本将不会超时。
RewriteRule .* - [E=noabort:1]
RewriteRule .* - [E=noconntimeout:1]
SetEnv noconntimeout 1