Splunk API работает на Postman, но не на PHP

#php #postman #splunk

Вопрос:

У меня есть приложение CakePHP, в котором я вызываю Splunk API, чтобы выполнить поиск и получить его результаты. Он работает как заклинание, когда я пробую его на почтальоне, но при запуске моим сервером он не каждый раз возвращает результаты. На самом деле, когда я постоянно вызываю API в цикле while, он, как правило, приносит результаты, хотя иногда для возврата чего-либо может потребоваться более 2 минут.

Я звоню Splunk таким образом:

 $querying = array(
                "search" => "search index=api_sandbox OR index=api_prod token=" .$token,
                "output_mode" => "raw"
            );
$querying = http_build_query($data);
 try{
        $curl = curl_init();

            curl_setopt_array($curl, array(
            CURLOPT_URL => 'https://mysplunk:8089/servicesNS/user/environment/search/jobs/export?' . $querying,
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_ENCODING => '',
            CURLOPT_MAXREDIRS => 10,
            CURLOPT_TIMEOUT => 0,
            CURLOPT_FOLLOWLOCATION => true,
            CURLOPT_SSL_VERIFYPEER, false,
            CURLOPT_USERPWD => 'Basic ' . base64_encode("user:password"),
            CURLOPT_HTTPHEADER => array(
                'Authorization: Basic ' . base64_encode("user:password")
              ),
            CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
            CURLOPT_CUSTOMREQUEST => 'GET',
            ));

            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);

            $response = curl_exec($curl);


            curl_close($curl);

            return $response;
        }catch (Throwable $th) {
            Log::error("callApi ERR: " . $th->getMessage());
            debug("Error: " . $th->getMessage());
            return false;
        }
 

Вызов API выполняется внутри задачи оболочки CakePHP и для записи при выполнении задачи оболочки с помощью консольной команды (php bin/cake.php Очередь.Queue runworker) API возвращает результаты без пустых результатов.

Почему может происходить такое странное поведение?