اذهب إلى المحتوى

السؤال

نشر (معدل)

أقوم باستخدام Mailgun لإرسال رسائل البريد الالكتروني في لارافيل ولا يوجد مشكلة في المتحكم الخاص بذلك، وقد قمت بإنشاء command خاص لإرسال الرسائل في أوقات معينة ولكن عند تشغيله يظهر لدي الخطأ التالي:

cURL error 60: SSL certificate problem: unable to get local issuer certificate

هذا هو الكود الخاص بالأمر:

$reminders = Reminder::where('utcReminderDate' , '<=', \Carbon\Carbon::now()->format('Y-m-d H:i'))->get();

foreach($reminders as $reminder)
    {
        Mail::send('emails.test', [], function($message) {
            $message->to('me@example.com', 'Joe Bloggs');
            $message->subject('A reminder for you');
        });
    }

كيف يمكنني حل مشكلة cURL error 60 ؟

تم التعديل في بواسطة Amir Alsaeed

Recommended Posts

  • 0
نشر

إن سبب ظهور المشكلة فقط عند تنفيذ command هو لأن CLI في لارافيل يستخدم php.ini مغاير للذي يتم استخدامه ضمن المشروع أو بيئة التطوير. ويمكن حل المشكلة إما عن طريق التعديل على ملف GuzzleHttp\Client بتغيير مفتاح verify إلى القيمة false بدلاً من true من configureDefaults بالشكل التالي:

$this->client = new GuzzleClient(['defaults' => [
    'verify' => false
]]);

ويمكن أيضاً تحميل الشهادة الرقمية باللاحقة .pem ثم تعديل ملف php.ini الخاص بالبيئة التي يتم استخدامها كالتالي:

curl.cainfo = "[pathtothisfile]\cacert.pem"

حيث نستبدل pathtothisfile بالمسار المطلق للشهادة ليتم التعرف عليها بداخل الملف php.ini

ومن ثم نقوم بالإشارة للشهادة بالشكل التالي:

$guzzle->setDefaultOption('verify', '/path/to/cacert.pem');

ففي كلتا الحالتين يجب أن يكون التحقق ضمن GuzzleHttp\Client في لارافيل على الشكل التالي:

// تعطيل التحقق
$guzzle->setDefaultOption('verify', false);

// استخدام الشهادة
$guzzle->setDefaultOption('verify', '/path/to/cacert.pem');

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...