Я использую Facebook SDK для аутентификации пользователя и получения списка страниц facebook.SDK хорошо работает на моем сервере разработки, но падает на рабочем сервере.При отладке я обнаружил, что ответ заголовка отличается на dev и производственном сервере.
Ответ заголовка, приходящий на dev-сервер, - HTTP / 1.1, а на рабочем сервере это HTTP / 2, который нарушает регулярное выражение иSDK.
В SDK есть файл с именем
/vendor/facebook/graph-sdk/src/Facebook/Http/GraphRawResponse.php
, и его функция равна:
public function setHttpResponseCodeFromHeader($rawResponseHeader)
{
preg_match('|HTTP/\d\.\d\s+(\d+)\s+.*|', $rawResponseHeader, $match);
$this->httpResponseCode = (int)$match[1];
}
, и в соответствии с регулярным выражением должно быть десятичное число сдесятичная точка, но на производстве это только 2, что нарушает его.
Мой вопрос: это связано с конфигурацией моего сервера на производстве или Facebook отправляет эти заголовки.Если Facebook отправляет заголовки, то почему он ведет себя по-другому, так как у меня та же версия SDK.Если это какая-то проблема с сервером, то как ее исправить?