Meilisearch-laravel-scout: symfony / http-clientのバグ

作成日 2020年09月26日  ·  8コメント  ·  ソース: meilisearch/meilisearch-laravel-scout

ご存知のように、 symfony / http-clientはたくさんのパッケージで必要ですが、エラーが発生したので、インストールしたhttp / guzzle6-adapterよりもmeilisearchをテストするためにそれらを削除しました。削除したパッケージをインストールした場合よりも、すべて問題なく動作しているようです。彼らはsymfony / http-clientをインストールしました、そして私が推測するようにlaravelはそれを優先します、そして私は再びこのエラーを受け取ります。 また、readmeで提案したように、 symfony / http-client nyholm / psr7をインストールしようとしましたが、それでもエラーが発生します。 その解決策は何だと思いますか。

また、guzzleを7.0に更新しようとしましたが、それでも期待どおりに機能しません。phpバージョンで何か解決策があると思いますか?

使用:
Laravel: 6.18.40
PHP: 7.4.5

symfony / http-clientを使用してmailisearchにリクエストすると、エラーが返されます。

   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

最も参考になるコメント

@shokmeそれで、私の問題はMEILISEARCH_HOST=meilisearchがあり、 guzzle 6,7php-http/curl-clientで完全に機能していました。これは、 symfony/http-clientがクラッシュしたときに私を夢中にさせていました。 そこで、 vendor/symfony/http-client/HttpClientTrait.phpソースを確認したところ、 resolveUrl()が「適切な」URL名なしでクラッシュしていることがわかったので、 MEILISEARCH_HOST=meilisearchMEILISEARCH_HOST=http://meilisearch:7070に変更しました。できます。 再度ありがとうございます。私はメイリサーチとクロージングの問題にとどまっています。

全てのコメント8件

nyholm/psr7 symfony/http-clientを使用しても問題ありません
laravel6.18.40およびphp7.4.3
composer.jsonで必ず"meilisearch/meilisearch-laravel-scout": "^0.12.0"を使用してください

@shokmeフィードバックをありがとうございますが、私は"meilisearch/meilisearch-laravel-scout": "^0.12.0"
"symfony/http-client": "^5.1"

"nyholm/psr7": "^1.3"
あなたは同じバージョンを持っていますか?

はい、すべて同じです。

しかし、私は非常に簡単な電話をします

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

しかし、あなたが言ったように:

symfony / http-clientを使用してmailisearchにリクエストすると、エラーが返されます。

だから私はあなたの電話からエラーが来るとは思わない。

@shokmeはい、そうです、それは電話ではありません、私は私のプロジェクトでいくつかの組み合わせを試したので、アダプター付きのガズル6はうまく機能します、いくつかのパッケージをクリアした後、ガズル7は設定全体とmailisearchで正常に動作し始めましたが、symfony / http-clientはまだ私にとっては問題が残っています。 解決策があればそれを書き留めます。 御時間ありがとうございます。

わかりました、それ以上お役に立てず申し訳ありません。

おそらくいくつかやってdd($url)周りにsymfony/http-client/HttpClientTrait.php:417あなたにいくつかのヒントを表示することができます。

@shokmeそれでも時間と助けに感謝します、私たち両方が持っている同じ構成は私が何か間違っていることを私に期待させてくれるので、私はもう一度調査を続けます。

@shokmeそれで、私の問題はMEILISEARCH_HOST=meilisearchがあり、 guzzle 6,7php-http/curl-clientで完全に機能していました。これは、 symfony/http-clientがクラッシュしたときに私を夢中にさせていました。 そこで、 vendor/symfony/http-client/HttpClientTrait.phpソースを確認したところ、 resolveUrl()が「適切な」URL名なしでクラッシュしていることがわかったので、 MEILISEARCH_HOST=meilisearchMEILISEARCH_HOST=http://meilisearch:7070に変更しました。できます。 再度ありがとうございます。私はメイリサーチとクロージングの問題にとどまっています。

調査していただきありがとうございます@JexPY! あなたの後に来るユーザーにとって役立つことを確認してください👍

このページは役に立ちましたか?
0 / 5 - 0 評価