Comme vous le savez, symfony/http-client est requis dans de nombreux packages, mais cela me donnait l'erreur, je les ai donc supprimés pour tester meilisearch plutôt que d'installer http/guzzle6-adapter et tout semble fonctionner correctement. ils ont installé symfony/http-client et comme je suppose que laravel lui donne la priorité et je reçois à nouveau cette erreur. J'ai également essayé d'installer symfony/http-client nyholm/psr7 comme vous l'avez suggéré dans le fichier readme mais
J'ai également essayé de mettre à jour Guzzle vers 7.0 mais ne fonctionne toujours pas comme prévu, je pense qu'il y a quelque chose avec la version php, quelle sera votre solution?
À l'aide de:
Laravel : 6.18.40
PHP : 7.4.5
Toute demande de mailisearch utilisant symfony/http-client renvoie l'erreur :
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
Je n'ai aucun problème à utiliser symfony/http-client
avec nyholm/psr7
laravel 6.18.40 et php 7.4.3
assurez-vous d'utiliser "meilisearch/meilisearch-laravel-scout": "^0.12.0"
dans votre composer.json
@shokme Merci pour vos commentaires mais j'utilise "meilisearch/meilisearch-laravel-scout": "^0.12.0"
"symfony/http-client": "^5.1"
et
"nyholm/psr7": "^1.3"
Vous avez les mêmes versions ?
oui tout est pareil.
Mais je fais un appel très simple
$movies = Movie::search('Ready Player One')->raw();
Mais comme tu dis :
Toute demande de mailisearch utilisant symfony/http-client renvoie l'erreur :
Donc je ne pense pas que l'erreur vienne de votre appel.
@shokme oui, vous avez raison, ce n'est pas à propos de l'appel, j'ai essayé plusieurs combinaisons dans mon projet, donc guzzle 6 avec adaptateur fonctionne bien, après avoir effacé certains packages, guzzle 7 a commencé à fonctionner correctement avec toute la configuration et mailisearch, mais symfony/http-client toujours reste un problème pour moi. Si j'ai une solution, je l'écrirai. Merci pour votre temps.
D'accord, je suis désolé de ne pas pouvoir vous aider davantage.
peut-être que faire quelques dd($url)
autour de symfony/http-client/HttpClientTrait.php:417
peut vous montrer quelques astuces.
@shokme Encore merci beaucoup pour le temps et l'aide, la même configuration que nous avons tous les deux me donne l'espoir que je me trompe, donc je vais continuer l'enquête merci encore.
@shokme J'ai donc découvert que mon problème était lié à la configuration de docker et à la variable env. J'avais MEILISEARCH_HOST=meilisearch
dans mon environnement qui fonctionnait parfaitement avec guzzle 6,7
et php-http/curl-client
, ça me rendait fou quand seulement symfony/http-client
plantait. J'ai donc vérifié la source de vendor/symfony/http-client/HttpClientTrait.php
et j'ai découvert que leur resolveUrl()
plantait sans nom d'URL "correct", alors j'ai changé mon MEILISEARCH_HOST=meilisearch
en MEILISEARCH_HOST=http://meilisearch:7070
et c'est tout maintenant Ça marche. Merci encore, je reste avec meilisearch et le problème de fermeture.
Merci pour votre enquête @JexPY ! Soyez sûr que cela sera utile pour les utilisateurs qui viendront après vous 👍
Commentaire le plus utile
@shokme J'ai donc découvert que mon problème était lié à la configuration de docker et à la variable env. J'avais
MEILISEARCH_HOST=meilisearch
dans mon environnement qui fonctionnait parfaitement avecguzzle 6,7
etphp-http/curl-client
, ça me rendait fou quand seulementsymfony/http-client
plantait. J'ai donc vérifié la source devendor/symfony/http-client/HttpClientTrait.php
et j'ai découvert que leurresolveUrl()
plantait sans nom d'URL "correct", alors j'ai changé monMEILISEARCH_HOST=meilisearch
enMEILISEARCH_HOST=http://meilisearch:7070
et c'est tout maintenant Ça marche. Merci encore, je reste avec meilisearch et le problème de fermeture.