Meilisearch-laravel-scout: Fehler mit Symfony/http-Client

Erstellt am 26. Sept. 2020  ·  8Kommentare  ·  Quelle: meilisearch/meilisearch-laravel-scout

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

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 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.

Alle 8 Kommentare

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 👍

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen