Meilisearch-laravel-scout: Bug com symfony / http-client

Criado em 26 set. 2020  ·  8Comentários  ·  Fonte: meilisearch/meilisearch-laravel-scout

Como você sabe, o symfony / http-client é necessário em muitos pacotes, mas ele estava me dando o erro, então eu os removi para testar meilisearch do que instalei http / guzzle6-adapter e tudo parece funcionar bem do que instalei os pacotes que removi eles instalaram o symfony / http-client e como eu acho que o laravel dá prioridade a ele, estou recebendo este erro novamente. Eu também tentei instalar symfony / http-client nyholm / psr7 como você sugeriu no leia-me, mas ainda obtive o erro. O que você acha qual será a solução para isso.

Também tentei atualizar o guzzle para 7.0 mas ainda não está funcionando como o esperado, acho que há algo com a versão php qual será a sua solução?

Usando:
Laravel: 6.18.40
PHP: 7.4.5

Qualquer solicitação de mailisearch usando symfony / http-client retorna o erro:

   ErrorException  : Trying to access array offset on value of type null

  at /var/www/vendor/symfony/http-client/HttpClientTrait.php:417
    413|                     $url['query'] = '?'.self::mergeQueryString(substr($url['query'] ?? '', 1), $queryDefaults, false);
    414|                 }
    415|             }
    416| 
  > 417|             $url['scheme'] = $base['scheme'];
    418|         }
    419| 
    420|         if ('' === ($url['path'] ?? '')) {
    421|             $url['path'] = '/';

  Exception trace:

  1   Illuminate\Foundation\Bootstrap\HandleExceptions::handleError()
      /var/www/vendor/symfony/http-client/HttpClientTrait.php:417

  2   Symfony\Component\HttpClient\CurlHttpClient::resolveUrl()
      /var/www/vendor/symfony/http-client/HttpClientTrait.php:141

Comentários muito úteis

@shokme Então descobri que meu problema era com a configuração do docker e a variável env. Eu tinha MEILISEARCH_HOST=meilisearch em meu env que estava funcionando perfeitamente com guzzle 6,7 e php-http/curl-client , que estava me deixando louco quando apenas symfony/http-client estava quebrando. Então, verifiquei a fonte de vendor/symfony/http-client/HttpClientTrait.php e descobri que seu resolveUrl() estava travando sem o nome de url "adequado", então mudei meu MEILISEARCH_HOST=meilisearch para MEILISEARCH_HOST=http://meilisearch:7070 e é isso agora funciona. Obrigado mais uma vez, vou ficar com meilisearch e encerrar o problema.

Todos 8 comentários

Não tenho problema em usar symfony/http-client com nyholm/psr7
laravel 6.18.40 e php 7.4.3
certifique-se de usar "meilisearch/meilisearch-laravel-scout": "^0.12.0" em seu composer.json

@shokme Obrigado pelo feedback, mas estou usando "meilisearch/meilisearch-laravel-scout": "^0.12.0"
"symfony/http-client": "^5.1"
e
"nyholm/psr7": "^1.3"
Você tem as mesmas versões?

sim, tudo é igual.

Mas eu faço uma ligação muito simples

$movies = Movie::search('Ready Player One')->raw();

Mas como você disse:

Qualquer solicitação de mailisearch usando symfony / http-client retorna o erro:

Portanto, não acho que o erro tenha vindo da sua ligação.

@shokme sim, você está certo, isso não é sobre a chamada, eu tentei várias combinações em meu projeto, então o guzzle 6 com adaptador funciona bem, depois de limpar alguns pacotes o guzzle 7 começou a funcionar bem com config e mailisearch inteiros, mas symfony / http-client ainda continua sendo um problema para mim. Se eu tiver alguma solução vou anotar. Obrigado pelo seu tempo.

Ok, lamento não poder ajudá-lo mais.

talvez fazer dd($url) torno de symfony/http-client/HttpClientTrait.php:417 possa lhe mostrar algumas dicas.

@shokme Ainda assim, muito obrigado pelo tempo e ajuda, a mesma configuração que nós dois temos me dá esperanças de que eu tenha algo errado, então vou continuar a investigação, obrigado novamente.

@shokme Então descobri que meu problema era com a configuração do docker e a variável env. Eu tinha MEILISEARCH_HOST=meilisearch em meu env que estava funcionando perfeitamente com guzzle 6,7 e php-http/curl-client , que estava me deixando louco quando apenas symfony/http-client estava quebrando. Então, verifiquei a fonte de vendor/symfony/http-client/HttpClientTrait.php e descobri que seu resolveUrl() estava travando sem o nome de url "adequado", então mudei meu MEILISEARCH_HOST=meilisearch para MEILISEARCH_HOST=http://meilisearch:7070 e é isso agora funciona. Obrigado mais uma vez, vou ficar com meilisearch e encerrar o problema.

Obrigado pela sua investigação @JexPY! Certifique-se de que será útil para os usuários que vierem atrás de você 👍

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

husonghua picture husonghua  ·  5Comentários

Kladislav picture Kladislav  ·  8Comentários

dmyers picture dmyers  ·  14Comentários

curquiza picture curquiza  ·  4Comentários

desaintflorent picture desaintflorent  ·  8Comentários