found the answer to my own question.
Following the api at the following link https://www.elastic.co/guide/en/elasticsearch/client/php-api/current/_search_operations.html#_scan_scroll ... I found that using scroll_id in the URI became too long in the while loop so it didn't work once indices reached a certain size.
Specifying it the way the docs say to makes it a GET request and therefore eventually truncates the request URI. I just removed it and made the body attribute the scroll_id and then it converted it to a POST request and problem solved.
try {
// Execute a Scroll request
$response = $this->elastic->scroll(
array(
//"scroll_id" => $scroll_id, //...using our previously obtained _scroll_id
"scroll" => "15s", // and the same timeout window
"body" => $scroll_id
)
);
} catch (\Exception $e) {
var_dump($e->getMessage());
}
Adding this here for anyone else who encounters this.