DDEV и D8, httpClient, используемый для внутреннего запроса, не может подключиться - PullRequest
0 голосов
/ 29 мая 2020

У меня многоузловая установка Drupal 8, на «основном» веб-сайте представлены некоторые веб-службы REST, локально у меня возникают проблемы с их тестированием, потому что разные сайты не могут видеть друг друга, когда я пытаюсь сделайте что-нибудь подобное

try {
  $response = $this->httpClient->get($this->baseUri . '/myendpoint', [
    'headers' => [
      'Accept' => 'application/json',
      'Content-type' => 'application/hal+json',
    ],
    'query' => [
      '_format' => 'json',
      'myparameters'  => 'value'
    ],
  ]);
  $results = $this->serializer->decode($response->getBody(), 'json');
}
catch (RequestException $e) {
  $this->logger->warning($e->getMessage());
}
return $results;

Я всегда получаю тайм-аут, и я никак не могу заставить его работать, у меня есть мой основной веб-сайт с обычным URL-адресом project.ddev.site (и $ this-> baseUri равно https://myproject.ddev.site), а все остальные веб-сайты имеют вид subsite.ddev.local Если в проекте sh и запустите ping myproject.ddev.site, я вижу 172.19.0.6 Я не понять, почему они не видят друг друга ...

1 Ответ

1 голос
/ 01 июня 2020

Просто для других людей, у которых может быть похожая проблема: моя проблема была с xdebug, у меня она была с автоподключением, поэтому, когда был сделан запрос с дочернего сайта на основной сайт, он где-то застрял (phpstorm не остановился в любом месте, кстати), поэтому время ожидания запроса истекло.

Отключив или настроив только для поддомена и избегая приема внешнего подключения от ненастроенных серверов (в phpstorm), он начал работать, все равно нужно проделать некоторую работу, так как мне нужно отлаживать «обе стороны» запроса, но таким образом я могу работать с этим ...

Я не думал раньше, чтобы попробовать отключить xdebug, потому что на самом деле это не приходило мне в голову ...

...