के साथ काम नहीं कर रहा है मुझे अपने विकास सर्वर पर समस्याएं आ रही हैं, जहां curl, कुछ भी HTTP के साथ पूरी तरह से काम करते समय, HTTPS के साथ ठीक से काम नहीं करता है-यहां तक कि विभिन्न प्रोटोकॉल के साथ सटीक समान संसाधन (परीक्षण I के लिए ' http और https दोनों का उपयोग करके google.com का अनुरोध कर रहे हैं)।PHP curl HTTPS
लौटाई गई कर्ल त्रुटि 35 है: "एसएसएल/टीएलएस हैंडशेक में कहीं समस्या आई।"
मैंने समाधान के लिए वेब और एसओ को कॉम्बे किया है, और उनमें से सभी को या तो CURLOPT_SSL_VERIFYPEER को गलत करने के लिए सेट किया गया है, जो कुछ भी नहीं बदलता है, या प्रमाणपत्र फ़ाइल डाउनलोड करने और CURLOPT_CAINFO को अपने पथ पर सेट करने के लिए, जो कुछ भी नहीं बदलता है।
प्रमाण पत्र सेट करते समय, मैंने this tutorial और this tutorial के निर्देशों का पालन किया, दोनों संसाधनों के लिए प्रमाण पत्र डाउनलोड करने और प्रमाण पत्र बंडल डाउनलोड करने का प्रयास करने का प्रयास किया।
मैं भी स्पष्ट रूप से अन्य विकल्प मैं सेट CURLOPT_VERBOSE = सच है, CURLOPT_RETURNTRANSFER = सच है, और CURLOPT_SSL_VERIFYHOST = 2 (मैं 1 के प्रत्येक संयोजन की कोशिश की है, और 2 हैं मेरे सवाल का, की पूर्णता के लिए 443 के CURLOP_PORT स्थापित करने की कोशिश की है VERIFYPEER दोनों सच और झूठी के साथ)। मैंने phpinfo() में भी यह सुनिश्चित किया है कि मेरे पास ओपनएसएसएल है और यह सक्षम है।
मैं अपने पुराने उत्पादन सर्वर पर पूरी तरह से काम करने वाले बहुत पुराने कोड का उपयोग कर रहा हूं, इसलिए इस कोड ने पहले काम किया है। लेकिन उस होस्टिंग को होस्टिंग साझा किया गया था और मुझे वहां अधिकांश कॉन्फ़िगरेशन नहीं पता है।
क्या आप एक ही यूआरएल तक पहुंच रहे हैं? आपने इस मुद्दे में भाग लेने पर किए गए अधिकांश शोधों को मारा है। – Jason
मैंने http: // www.google.com दोनों का उपयोग किया, जो काम करता था; और https: // www.google.com, जो नहीं था। – spezied
@ स्पीज्ड, अगर आपूर्ति किए गए उत्तर आपके प्रश्न का उत्तर देते हैं, तो क्या आप इसे अपने उत्तर के रूप में चुन सकते हैं ताकि प्रश्न बंद किया जा सके? धन्यवाद। –