كما تعلم ، فإن 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
ليس لدي مشكلة في استخدام 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! تأكد من أنه سيكون مفيدًا للمستخدمين الذين يأتون بعدك 👍
التعليق الأكثر فائدة
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 وختام المسألة.