Wie Sie wissen, ist symfony/http-client in vielen Paketen erforderlich, aber es gab mir den Fehler, also habe ich sie entfernt, um meilisearch zu testen, als http/guzzle6-adapter installiert und alles scheint in Ordnung zu sein, als ich die Pakete installiert habe, die ich entfernt habe Sie haben symfony/http-client installiert und da ich denke, dass Laravel dem Priorität einräumt und ich diesen Fehler erneut erhalte. Ich habe auch versucht, symfony/http-client nyholm/psr7 zu installieren, wie Sie in der Readme- bekomme aber immer noch den Fehler. Was denkst du, was wäre eine Lösung dafür.
Habe auch versucht, guzzle auf 7.0 zu aktualisieren, funktioniert aber immer noch nicht wie erwartet. Ich denke, es gibt etwas mit der PHP-Version, was wird Ihre Lösung sein?
Verwendung:
Laravel: 6.18.40
PHP: 7.4.5
Jede Anfrage an mailisearch mit symfony/http-client gibt den Fehler zurück:
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
Ich habe kein Problem mit symfony/http-client
mit nyholm/psr7
laravel 6.18.40 und php 7.4.3
Verwenden Sie "meilisearch/meilisearch-laravel-scout": "^0.12.0"
in Ihrem composer.json
@shokme Danke für das Feedback, aber ich verwende "meilisearch/meilisearch-laravel-scout": "^0.12.0"
"symfony/http-client": "^5.1"
und
"nyholm/psr7": "^1.3"
Sie haben die gleichen Versionen?
ja, alles ist gleich.
Aber ich mache einen ganz einfachen Anruf
$movies = Movie::search('Ready Player One')->raw();
Aber wie gesagt:
Jede Anfrage an mailisearch mit symfony/http-client gibt den Fehler zurück:
Ich glaube also nicht, dass der Fehler von Ihrem Anruf herrührt.
@shokme ja du hast recht, das liegt nicht am Aufruf, ich habe mehrere Kombinationen in meinem Projekt ausprobiert, also funktioniert guzzle 6 mit Adapter gut bleibt bei mir ein problem. Wenn ich eine Lösung habe, werde ich sie aufschreiben. Vielen Dank für Ihre Zeit.
Okay, tut mir leid, dir nicht weiter helfen zu können.
Vielleicht können Sie einige Hinweise geben, wenn Sie dd($url)
um symfony/http-client/HttpClientTrait.php:417
herum tun.
@shokme Trotzdem vielen Dank für die Zeit und Hilfe, die gleiche Konfiguration, die wir beide haben, lässt mich hoffen, dass ich etwas falsch gemacht habe, also werde ich die Untersuchung fortsetzen, danke noch einmal.
@shokme Ich habe also herausgefunden, dass mein Problem mit der Docker-Konfiguration und der env-Variablen zusammenhängt. Ich hatte MEILISEARCH_HOST=meilisearch
in meiner Umgebung, die perfekt mit guzzle 6,7
und php-http/curl-client
funktionierte, das machte mich verrückt, als nur symfony/http-client
abstürzte. Also habe ich die Quelle von vendor/symfony/http-client/HttpClientTrait.php
überprüft und festgestellt, dass ihr resolveUrl()
ohne "richtigen" URL-Namen abgestürzt ist, also habe ich meine MEILISEARCH_HOST=meilisearch
in MEILISEARCH_HOST=http://meilisearch:7070
geändert und das war's jetzt Es klappt. Nochmals vielen Dank, ich bleibe bei meilisearch und Abschlussproblem.
Danke für deine Untersuchung @JexPY! Seien Sie sicher, dass es für Benutzer hilfreich ist, die nach Ihnen kommen 👍
Hilfreichster Kommentar
@shokme Ich habe also herausgefunden, dass mein Problem mit der Docker-Konfiguration und der env-Variablen zusammenhängt. Ich hatte
MEILISEARCH_HOST=meilisearch
in meiner Umgebung, die perfekt mitguzzle 6,7
undphp-http/curl-client
funktionierte, das machte mich verrückt, als nursymfony/http-client
abstürzte. Also habe ich die Quelle vonvendor/symfony/http-client/HttpClientTrait.php
überprüft und festgestellt, dass ihrresolveUrl()
ohne "richtigen" URL-Namen abgestürzt ist, also habe ich meineMEILISEARCH_HOST=meilisearch
inMEILISEARCH_HOST=http://meilisearch:7070
geändert und das war's jetzt Es klappt. Nochmals vielen Dank, ich bleibe bei meilisearch und Abschlussproblem.