على الرغم من التكوين الدقيق، قد تواجه "مشكلة في SSL" شهادة CA (المسار؟ حقوق الوصول؟)" خطأ عند استخدام CURL مع HTTPS في PHP. يمكن أن تنشأ هذه المشكلة بعد تحديث مكتبات الضفيرة.
1. تعطيل التحقق من المضيف والنظير:
curl_setopt($cHandler, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($cHandler, CURLOPT_SSL_VERIFYPEER, true);
2. تمكين CURLOPT_SSL_VERIFYPEER وتحديد شهادة CA:
curl_setopt($cHandler, CURLOPT_SSL_VERIFYPEER, true); curl_setopt($cHandler, CURLOPT_CAINFO, getcwd() . "/positiveSSL.ca-bundle");curl_setopt($cHandler, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($cHandler, CURLOPT_CAINFO, getcwd() . "/positiveSSL.ca-bundle");
3. استخدم شهادة CA الخاصة بالحزمة للخادم: وبالمثل، يمكنك تجربة حزمةpositiveSSL.ca التي يوفرها الخادم.
4. قم بتحديث إعدادات PHP INI:
قم بتكوين curl.cainfo في php.ini للإشارة إلى ملف شهادة CA.
5. إعادة تسمية قاعدة بيانات NSS:
إعادة تسمية قاعدة بيانات NSS مؤقتًا لاستبعاد الشهادات على مستوى النظام.
6. تحديث المكتبات وإعادة التشغيل:
قد تؤدي إعادة تشغيل النظام بعد تحديث المكتبات إلى حل المشكلة.
7. تعطيل التحقق باستخدام CURLOPT_SSL_VERIFYHOST وCURLOPT_SSL_VERIFYPEER:
يوصى به عندما لا يكون التحقق ضروريًا.
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
إذا لم ينجح أي من هذه الحلول، ففكر في الترقية إلى أحدث إصدارات المكتبة وإعادة تشغيل النظام. وبدلاً من ذلك، يمكنك استشارة موفر الاستضافة أو مسؤول الخادم لتحديد ما إذا كانت هناك أية مشكلات محددة في الشهادة تؤثر على بيئتك.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3