curl - एसएसएल सीए प्रमाण के साथ PHP समस्या(पथ? अभिगम अधिकार?)




(5)

मुझे यह त्रुटि मिलती है:

"एसएसएल सीए प्रमाण (पथ? पहुंच अधिकार?) के साथ समस्या"

करते समय:

$curl = curl_init('https://example.com' . ($method == 'GET' && $params ? '?' . $params : ''));

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); 
$response = curl_exec($curl);

print curl_error($curl)

किसी अन्य सर्वर पर ठीक काम करता है।

एसएसएल एनएसएस का उपयोग कर रहा है। PHP 5.3.6


Answers

संकुल के अद्यतन के बाद यह मेरे साथ होता है।

एक बार जब मैंने अपाचे को पुनरारंभ किया तो यह ठीक हो गया।

फिर मैंने इसे उत्पादन सर्वर पर स्थापित किया और मुझे दोबारा मिल गया। इस बार यह प्रमाण पत्र / etc / pki / tls / certs /

फ़ाइलों का बैकअप लें और यह आदेश इसे ठीक करेगा:

curl http://curl.haxx.se/ca/cacert.pem -o /etc/pki/tls/certs/ca-bundle.crt


यदि यह दो सर्वरों के साथ होता है जो पेपैल आईपीएन का उपयोग करते हैं, दोनों एक ही समय में।

फिक्स अपाचे को पुनरारंभ करना था।


यदि आपको "एसएसएल सीए प्रमाण (पथ? एक्सेस अधिकार?) के साथ समस्या हो रही है, तो इसका बहुत अच्छा अर्थ हो सकता है कि आपने या तो /etc/pki/tls/certs/ से सब कुछ हटा दिया है या अमान्य अनुमतियां सेट की हैं (CHMOD)।

यदि आप आरएचईएल / सेंटोस का उपयोग कर रहे हैं, तो yum reinstall openssl ca-certificates -y


यह nssdb का नाम बदलकर काम कर रहा है:

mv /etc/pki/nssdb /etc/pki/nssdb.old

curl -u username:password http://
curl -u username http://

प्रलेखन पृष्ठ से:

-यू, --user <उपयोगकर्ता: पासवर्ड>

सर्वर प्रमाणीकरण के लिए उपयोग करने के लिए उपयोगकर्ता नाम और पासवर्ड निर्दिष्ट करें। ओवरराइड -एन, --नेट्रैक और --नेटआरसी-वैकल्पिक।

यदि आप बस उपयोगकर्ता नाम निर्दिष्ट करते हैं, तो कर्ल पासवर्ड के लिए संकेत देगा।

उपयोगकर्ता नाम और पासवर्ड पहले कोलन पर विभाजित होते हैं, जो इस विकल्प के साथ उपयोगकर्ता नाम में एक कोलन का उपयोग करना असंभव बनाता है। पासवर्ड अभी भी कर सकता है।

विंडोज आधारित सर्वर के साथ केर्बेरोस वी 5 का उपयोग करते समय आपको उपयोगकर्ता नाम में विंडोज डोमेन नाम शामिल करना चाहिए, ताकि सर्वर को सफलतापूर्वक केर्बेरोज टिकट प्राप्त हो सके। यदि आप नहीं करते हैं तो प्रारंभिक प्रमाणीकरण हैंडशेक विफल हो सकता है।

एनटीएलएम का उपयोग करते समय, उपयोगकर्ता नाम को डोमेन नाम के बिना उपयोगकर्ता नाम के रूप में निर्दिष्ट किया जा सकता है, उदाहरण के लिए आपके सेटअप में एक एकल डोमेन और वन है।

डोमेन नाम निर्दिष्ट करने के लिए या तो डाउन-लेवल लॉगऑन नाम या यूपीएन (उपयोगकर्ता प्रिंसिपल नेम) प्रारूपों का उपयोग करें। उदाहरण के लिए, क्रमशः EXAMPLE \ उपयोगकर्ता और [email protected]

यदि आप विंडोज एसएसपीआई-सक्षम कर्ल बाइनरी का उपयोग करते हैं और केर्बेरोस वी 5, नेगोशिएट, एनटीएलएम या डाइजेस्ट प्रमाणीकरण करते हैं तो आप इस विकल्प के साथ एक कोलन निर्दिष्ट करके अपने पर्यावरण से उपयोगकर्ता नाम और पासवर्ड चुनने के लिए कर्ल बता सकते हैं: "-u:" ।

यदि इस विकल्प का कई बार उपयोग किया जाता है, तो अंतिम का उपयोग किया जाएगा।

http://curl.haxx.se/docs/manpage.html#-u

ध्यान दें कि आपको - --basic ध्वज की आवश्यकता नहीं है क्योंकि यह डिफ़ॉल्ट है।





php curl