Meilisearch-laravel-scout: خطأ في symfony / http-client

تم إنشاؤها على ٢٦ سبتمبر ٢٠٢٠  ·  8تعليقات  ·  مصدر: meilisearch/meilisearch-laravel-scout

كما تعلم ، فإن symfony / http-client مطلوب في الكثير من الحزم ولكنه كان يعطيني الخطأ لذلك قمت بإزالتها لاختبار meilisearch بدلاً من محول http / guzzle6 المثبت ويبدو أن كل شيء يعمل بشكل جيد مما قمت بتثبيت الحزم التي قمت بإزالتها قاموا بتثبيت symfony / http-client وكما أعتقد أن Laravel يعطي الأولوية له وأنا أتلقى هذا الخطأ مرة أخرى. لقد حاولت أيضًا تثبيت symfony / http-client nyholm / psr7 كما اقترحت في الملف التمهيدي ولكني ما زلت أحصل على الخطأ. ما رأيك ماذا سيكون الحل لها.

لقد حاولت أيضًا تحديث الإسراف إلى 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 لذلك اكتشفت أن مشكلتي كانت مع تكوين عامل الإرساء ومتغير env. كان لديّ 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 وهذا كل شيء الآن إنها تعمل. شكرا مرة أخرى أنا أبقى مع 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 مع المحول يعمل بشكل جيد ، بعد مسح بعض الحزم ، بدأ الإسراف 7 في العمل بشكل جيد مع كل من config و mailisearch ، ولكن لا يزال symfony / http-client يبقى مشكلة بالنسبة لي. إذا كان لدي أي حل سأكتبه. شكرا على وقتك.

حسنًا ، يؤسفني عدم قدرتي على تقديم المزيد من المساعدة.

ربما يمكن أن يظهر لك بعض التلميحات عن طريق إجراء بعض dd($url) بحوالي symfony/http-client/HttpClientTrait.php:417 .

shokme ما زلت

shokme لذلك اكتشفت أن مشكلتي كانت مع تكوين عامل الإرساء ومتغير env. كان لديّ 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 وهذا كل شيء الآن إنها تعمل. شكرا مرة أخرى أنا أبقى مع meilisearch وختام المسألة.

شكرا على التحقيق الخاص بكJexPY! تأكد من أنه سيكون مفيدًا للمستخدمين الذين يأتون بعدك 👍

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات