Ваши комментарии

Теперь приходят ответы без BOM (и через Guzzle и через Curl проверил), так что нет, не актуальна.

Теперь снова приходят ответы без BOM.

Хорошо, что я использовал ltrim и паттерн, а не просто отрезал три байта через substr!)

Неделю назад и ранее ответ точно приходил без BOM, потому что работала функция json_decode:

$client = new GuzzleHttp\Client();

$res = $client->request('POST', '/foo', ['json' => $bar]);

$resultjson = json_decode($res->getBody());

https://www.php.net/manual/en/function.json-decode.php

> If you store your json-string in an utf8-file and read it with file_get_contents, please make sure to strip leading BOM (byte order mark) before decoding it with json_decode. Otherwise json_decode will fail creating an associative array. Instead it will return your data as a string.


Согласно документации (и множеству тем на SO), данная функция обрабатывает данные без BOM.

Сервер не обновляли, Guzzle не обновляли, PHP не обновляли, просто прекратило работать (вчера точно).

Не могу, Ваш сервер не отвечает. Но это отдельная проблема.



Сервис поддержки клиентов работает на платформе UserEcho