Meilisearch-laravel-scout: Ошибка с symfony / http-client

Созданный на 26 сент. 2020  ·  8Комментарии  ·  Источник: meilisearch/meilisearch-laravel-scout

Как вы знаете, symfony / http-client требуется во многих пакетах, но он выдает ошибку, поэтому я удалил их, чтобы проверить meilisearch, чем установленный http / guzzle6-adapter, и все, похоже, работает нормально, чем я установил пакеты, которые я удалил они установили symfony / http-client, и, как я предполагаю, laravel отдает ему приоритет, и я снова получаю эту ошибку. Я также попытался установить symfony / http-client nyholm / psr7, как вы предложили в readme, но все еще получаю сообщение об ошибке. Как вы думаете, какое решение для этого будет.

Также пытались обновить guzzle до 7.0, но все еще не работает должным образом, я думаю, что есть что-то с версией php, какое будет ваше решение?

С использованием:
Laravel: 6.18.40
PHP: 7.4.5

Любой запрос к mailisearch с использованием symfony / http-client возвращает ошибку:

   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,7 и php-http/curl-client , что сводило меня с ума, когда только symfony/http-client вылетало. Итак, я проверил vendor/symfony/http-client/HttpClientTrait.php source и обнаружил, что их resolveUrl() вылетает без "правильного" имени URL, поэтому я изменил свой MEILISEARCH_HOST=meilisearch на MEILISEARCH_HOST=http://meilisearch:7070 и теперь все оно работает. Еще раз спасибо, я остаюсь с meilisearch и закрываю проблему.

Все 8 Комментарий

У меня нет проблем с использованием symfony/http-client с nyholm/psr7
laravel 6.18.40 и php 7.4.3
обязательно используйте "meilisearch/meilisearch-laravel-scout": "^0.12.0" в своем composer.json

@shokme Спасибо за отзыв, но я использую "meilisearch/meilisearch-laravel-scout": "^0.12.0"
"symfony/http-client": "^5.1"
а также
"nyholm/psr7": "^1.3"
У вас такие же версии?

да все то же самое.

Но я делаю очень простой звонок

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

Но как вы сказали:

Любой запрос к mailisearch с использованием symfony / http-client возвращает ошибку:

Поэтому я не думаю, что ошибка возникла из-за вашего звонка.

@shokme да, вы правы, дело не в звонке, я пробовал несколько комбинаций в своем проекте, так что guzzle 6 с адаптером работает хорошо, после очистки некоторых пакетов guzzle 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 source и обнаружил, что их resolveUrl() вылетает без "правильного" имени URL, поэтому я изменил свой MEILISEARCH_HOST=meilisearch на MEILISEARCH_HOST=http://meilisearch:7070 и теперь все оно работает. Еще раз спасибо, я остаюсь с meilisearch и закрываю проблему.

Спасибо за расследование @JexPY! Будьте уверены, это будет полезно для пользователей, которые придут после вас 👍

Была ли эта страница полезной?
0 / 5 - 0 рейтинги