首页 > 解决方案 > 有时会出现 curl_setopt_array(): 提供的资源在奇怪的地方不是有效的 cURL 句柄资源

问题描述

错误: curl_setopt_array():提供的资源不是有效的 cURL 句柄资源

输入:

countries   
array:6 [
  0 => "sve"
  1 => "nld"
  2 => "lvi"
  3 => "lth"
  4 => "eti"
  5 => "hrv"
]
date_from   
"01.09.2018"
date_to 
"30.09.2018"

我只是遍历国家并调用retrieveData 方法。

在他将 json 写入文件后,它在return $data. 我跑了10多次。有时他只写了 1 个文件 (sve),有时他写了 2 个文件 (sve, nld),有一次他写了 3 个......

这是一个非常奇怪的问题。

堆栈跟踪:

剩余的堆栈跟踪

Elasticsearch\Helper\Iterators\SearchResponseIterator __destruct
…\app\Managers\XXX\XXX.php 

App\Managers\XXX\XXX retriveData
…\app\Http\Controllers\ManagersController.php

经理控制器:

foreach ($countries_to_retrieve as $country) {
    $this->all_countries_data[$country] = XXX::retriveData($country, $request->date_from, $request->date_to);
}

XXX.php:

查看全班

public static function retriveData($country, $from, $to): array {

    ...

    if (!in_array($folder, Storage::directories())) {
        Storage::makeDirectory($folder);
    }
    Storage::put($folder . '\\' . $country . $from . $to, json_encode($data));

    return $data; <----- HERE is exception
}

有没有想法,我该如何继续调查这个问题?

PS忘了说,这可能与PHP版本有关,我们的生产是在5.6上,但现在我们正在迁移到5.7,我们正在5.7上测试一切。这个功能正在生产中,但是在本地主机上我们有这样的问题。

标签: laravelelasticsearchcurl

解决方案


推荐阅读