ご存知のように、 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
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,7
とphp-http/curl-client
で完全に機能していました。これは、 symfony/http-client
がクラッシュしたときに私を夢中にさせていました。 そこで、 vendor/symfony/http-client/HttpClientTrait.php
ソースを確認したところ、 resolveUrl()
が「適切な」URL名なしでクラッシュしていることがわかったので、 MEILISEARCH_HOST=meilisearch
をMEILISEARCH_HOST=http://meilisearch:7070
に変更しました。できます。 再度ありがとうございます。私はメイリサーチとクロージングの問題にとどまっています。
調査していただきありがとうございます@JexPY! あなたの後に来るユーザーにとって役立つことを確認してください👍
最も参考になるコメント
@shokmeそれで、私の問題は
MEILISEARCH_HOST=meilisearch
があり、guzzle 6,7
とphp-http/curl-client
で完全に機能していました。これは、symfony/http-client
がクラッシュしたときに私を夢中にさせていました。 そこで、vendor/symfony/http-client/HttpClientTrait.php
ソースを確認したところ、resolveUrl()
が「適切な」URL名なしでクラッシュしていることがわかったので、MEILISEARCH_HOST=meilisearch
をMEILISEARCH_HOST=http://meilisearch:7070
に変更しました。できます。 再度ありがとうございます。私はメイリサーチとクロージングの問題にとどまっています。