পিএইচপি সিআরএল ত্রুটি কোড 60


85

যখন আমি একটি নমুনা পরীক্ষা চালানোর চেষ্টা করি তখন আমি নিম্নলিখিত ত্রুটিটি পাই যখন অ্যামাজন পিএইচপি এসডিকে ব্যবহার করার জন্য উইন্ডোজে (wamp ব্যবহার করে) পিএইচপি পরিবেশ স্থাপনের চেষ্টা করি তখন:

Fatal error: Uncaught exception 'cURL_Exception' with message 'cURL resource: Resource id #10; cURL error: SSL certificate problem: unable to get local issuer certificate (cURL error code 60). See http://curl.haxx.se/libcurl/c/libcurl-errors.html for an explanation of error codes.' in C:\wamp\www\AWSSDKforPHP\lib\requestcore\requestcore.class.php on line 848

আমি ইতিমধ্যে আমার php.ini এ নিম্নলিখিত লাইনটি যুক্ত করেছি

curl.cainfo = C:\Windows\ca-bundle.crt

যা এই ভিবিএস স্ক্রিপ্টটি ব্যবহার করে তৈরি করা শংসাপত্রের অবস্থান ভিবিএস-স্ক্রিপ্ট

আমি আমার ডাব্লুএইচএএমপি পরিষেবাটিও আবার চালু করেছি।

পিএইচপি সূচক কার্ল রেফারেন্স


6
আপনি যদি শংসাপত্র প্রক্রিয়াটির বিষয়ে চিন্তা না করেন তবে আপনি এটি পুরোপুরি অক্ষম করতে পারেন curl_setopt($rest, CURLOPT_SSL_VERIFYPEER, false);
denispyr

এটি আমার জন্য সমস্যার সমাধান করেছে - stackoverflow.com/a/32095378/178163 মূলত 2 php.ini ফাইল থাকতে পারে
জর্জ কাগান

4
প্রথমবারের মতো যারা এই সমস্যাটিতে ঝাঁপিয়ে পড়েছে তাদের জন্য, যেমন আমি করেছি, এর পেছনের কারণটি যতটা আমি বুঝতে পেরেছি (আমি ভুল হলে আমাকে সংশোধন করি), তা কি ব্রাউজারের মাধ্যমে এইচটিটিপিএস সংযোগের পরিস্থিতির বিপরীতে, একটি সিআরএল অনুরোধ সার্ভার থেকে শংসাপত্র পায় না। সুতরাং, আমাদের ম্যানুয়ালি সাইটের শংসাপত্র ডাউনলোড করতে হবে এবং এটি পিএইচপি ইনআইতে যুক্ত করতে হবে। ক্লায়েন্টের শেষে শংসাপত্রের এই যাচাইকরণটি এইচটিটিপিএস সংযোগ প্রক্রিয়ার একটি অংশ এবং মনে হয়, এটি বাইপাস করা যেতে পারে। এখানেই curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);ছবিতে আসে।
সন্দীপন নাথ

কবজ হিসাবে কাজ !!!! ধন্যবাদ!
রডরিগো সার্জেডেলো

উত্তর:


226

এই শংসাপত্রের রুট শংসাপত্রের বান্ডেলটি ব্যবহার করুন:

https://curl.haxx.se/ca/cacert.pem

আপনার ডিস্কে এই শংসাপত্রের বান্ডিলটি অনুলিপি করুন। এবং এটি ব্যবহার করুনphp.ini

curl.cainfo = "path_to_cert\cacert.pem"

10
আর যদি এই সমস্যার সমাধান হয় না? আমি সেট curl_setopt($ch, CURLOPT_CAINFO, ini_get('curl.cainfo'));এবং php.ini এ [cURL] curl.cainfo = C:\dev\xampp\php\cacert.pem । ফাইলটি রয়েছে, তবে আমি এখনও ত্রুটিটি পেয়ে যাচ্ছি .০ I'm
ওভারফ্লো

4
@ ওভারফ্লো দুই প্রকার php.ini: পিএইচপি-ক্লাইমের জন্য পিএইচপি-ওয়েবের জন্য দ্বিতীয় ( অ্যাপাচি, এনজিনেক্স , ...)। আপনাকে curl.cainfo = "path_to_cert\cacert.pem"ওয়েবের জন্য সেট করতে হবে। অন্যদিকে, আপনি যদি দেখতে curl.cainfoপান যে আপনার পিএইচপি তথ্য ভিউতে সত্য, সেই সময় অনুমতি সংক্রান্ত সমস্যা হতে পারে।
হেসেইন বাবল

ভাল, আসলে আমি curl.cainfoআমার পিএইচপি তথ্য দেখতে পাচ্ছি না। এর অর্থ কি আমি ভুল ফাইলটিতে রেখেছি?
ওভারফ্লো 18

4
হ্যাঁ, দয়া করে আপনার php.ini ফাইলের অবস্থানটি দুটিবার পরীক্ষা করুন। আপনাকে এটি ওয়েব সংস্করণে রাখতে হবে
Hüseyin BABAL

আমি apache php.ini এ যুক্ত করেছি, তবে এটি কার্যকর হয়নি
kasim Badami

31

আমি এখানে php.iniফাইল পরিবর্তন করে এটি ঠিক করেছি fixedC:\wamp\bin\apache\apache2.4.9\bin\

curl.cainfo = "C:/wamp/bin/php/php5.5.12/cacert.pem"

প্রথমে আমি php.iniফাইলটি সংশোধন করে চেষ্টা করছিলাম C:\wamp\bin\php\php5.5.12\এবং এটি কার্যকর হয়নি।

আশা করি এটি এমন কাউকে সহায়তা করবে php.iniযা সংশোধন করার অধিকার অনুসন্ধান করছে


4
ধন্যবাদ এটি যা গ্রহণ করেছে তা হ'ল curl.haxx.se/ca/cacert.pem থেকে ফাইলটি ডাউনলোড করা , এবং আপনি যে কথা বলেছেন তার মতো অ্যাপাচি পিএইচপি.এনইআই ফাইলটিতে এটির পথ নির্ধারণ করা। দয়া করে সচেতন লোকেরা, আপনি যে কোনও জায়গায় ক্যাসর্ট লাগাতে পারেন, কেবল আপনি সঠিকভাবে পথটি প্রবেশ করিয়েছেন তা নিশ্চিত করুন। এছাড়াও, আপনি সেমিকোলনটি সরিয়েছেন তা নিশ্চিত করুন!
ড্যান জুজেভিচ 13

4
এর পরে অ্যাপাচি পুনরায় লোড করতে ভুলবেন না।
hcker2000

17
php --ini

এটি আপনাকে বলবে যে কোন php.ini ফাইলটি লোড হচ্ছে, তাই আপনি জানেন যে কোনটি সংশোধন করতে হবে। আমি ভুল php.ini ফাইলটি পরিবর্তন করতে অনেক সময় নষ্ট করেছি কারণ আমার ডাব্লুএইচএএমপি এবং এক্সএএমপিপি ইনস্টল ছিল।

এছাড়াও, php.ini পরিবর্তন করার পরে ডাব্লুএএমএপি সার্ভারটি (বা আপনি যা ব্যবহার করুন) পুনরায় চালু করতে ভুলবেন না।


4
জীবন রক্ষাকারী! 3 অভিশাপ দিন সমস্যা সমাধান ও এই পালাক্রমে ইস্যু করা যায়
Suo

13

@ ওভারফ্লো আমি উপরের উত্তরগুলি চেষ্টা করেছিলাম কোনও ভাগ্য ছাড়াই। আমি পিএইচপি সংস্করণ 5.3.24 থেকে 5.5.8 এ পরিবর্তন করেছি কারণ এই সেটিংটি কেবলমাত্র পিএইচপি 5.3.7 এবং তার উপরের কাজ করবে। তারপরে আমি এই http://flwebsites.biz/posts/how-fix-curl-error-60-ssl-issue আমি সেখান থেকে cacert.pem ডাউনলোড করেছি এবং আমার ডাউনলোড করা / curl.hxxx.se থেকে তৈরি করা প্রতিস্থাপন করেছি se উপরে লিঙ্ক করা এবং এটি সব কাজ শুরু। আমি যাচাই করার জন্য পেপাল স্যান্ডবক্স আইপিএন পাওয়ার চেষ্টা করছিলাম। পিপিএম অদলবদলের পরে php.ini- এ কার্ল.cainfo সেটিংটি ব্যবহার করা ঠিক আছে যা এখনও 5.3.24-এ নেই বলে খুশি।


4
আমি একই সমস্যার মুখোমুখি হয়েছি এবং উপরে উল্লিখিত কেবল .pem ফাইল ফর্ম ডাউনলোড করে স্থির করেছিলাম। ধন্যবাদ
সাকিবাহমাদ

4
হাহাহা আমি এই বিশ্বাস করতে পারি না! আমি FLWebsites.biz এর মালিক এবং আমি যে পোষ্টটি উল্লেখ করেছি তা সম্পূর্ণ অজানা এই পোস্টে দৌড়েছি ... আমি সেই ব্লগটি লিখেছি!
এইচটিএমএলগুই

আমি সমস্যাটি বের করার চেষ্টা করেছি এবং 3-4 ঘন্টা পরে অবশেষে আমি এই উত্তরটিতে হোঁচট খেয়েছি। আমি বললাম ওহ ভাল, কেন আবার অন্য একটি পেম ফাইল চেষ্টা করে দেখুন না। এবং অবাক: অবশেষে এটি কাজ করে। সেই ব্লগটি সন্ধানের জন্য ধন্যবাদ :)
সোলিল

এটি আমার cacert.pem সমস্যাটি উইন্ডোজ 10, আইআইএস এর অধীনে সমাধান করেছে। ধন্যবাদ
জাকোঃ

4
দুঃখিত, আমি আমার সাইটটি নামিয়েছি। উত্সটিতে
এইচটিএমএল গুই

8

@ হেসেইন বাবল

উপরের শংসাপত্রের সাথে আমি ত্রুটি পাচ্ছি তবে আমি এই শংসাপত্রটি এবং এটির কার্যকারিতা চেষ্টা করি।

https://gist.github.com/VersatilityWerks/5719158/ ডাউনলোড


কি দারুন. এটা পাগলামি. আমি বিশ্বব্যাপী cacert.pem সেট করার একটি উপায় খুঁজছিলাম এবং এটিতে ছুটে এসেছি। আমি ভার্সটিলিটি ওয়ার্কস হা। আপনি আমার টুকরা ব্যবহার করেছেন।
এইচটিএমএলগুই

5

প্রথমত, আমাদের এই শংসাপত্রের মূল শংসাপত্রের বান্ডিলটি ডাউনলোড করতে হবে:

https://curl.haxx.se/ca/cacert.pem

এই ফাইলটি কোথাও যেমন Wamp / Xampp ফোল্ডারে পিএইচপি ফোল্ডারে সরান।

তারপরে আপনার "php.ini" সম্পাদনা করুন:

curl.cainfo = "C: /path/to/your/cacert.pem"

এবং

openssl.cafile = "সি: /path/to/your/cacert.pem"

গুরুত্বপূর্ণ:

নিশ্চিত হয়ে নিন যে আপনি সরাসরি আপনার উইন্ডো এক্সপ্লোরার দ্বারা "php.ini" ফাইলটি খোলেন। (আমার ক্ষেত্রে: "সি: \ দেবপ্রোগ্র্যামস amp wamp64 \ বিন \ পিএইচপি \ পিএইচপি 5.6.25 p পিএইচপি.inই")।

সিস্টেম ট্রেতে মোড়ানো / জ্যাম্প্প আইকনটির মেনুতে "php.ini" এর শর্টকাটটি ব্যবহার করবেন না। এই শর্টকাটটি কিছু ক্ষেত্রে আমার মুখোমুখি হয়নি।

"Php.ini" সংরক্ষণ করার পরে আপনার ওয়্যাম্প আইকনে "সমস্ত পরিষেবা পুনরায় চালু করুন" বা সিএমডি বন্ধ / পুনরায় খুলতে হবে না।

"Var_dump (openssl_get_cert_locations ());" দিয়ে চেষ্টা করুন এবং লাইনটি দেখুন: ["ini_cafile"] => স্ট্রিং (40) "সি: /পাথ / টো / ইয়োর/cacert.pem"

সম্পন্ন.


এক্সপ্লোরারের মাধ্যমে php.ini ফাইল খোলার বিষয়ে আপনার নোটটি আসলে কাজ করেছিল! এবং আমি অবশেষে বুঝতে পেরেছিলাম যে wamp আইকন থেকে php.ini একটি আলাদা পথ পেয়েছে। ধন্যবাদ!!!
ডক্টিগার

4

সমস্যার সহজ সমাধান হ'ল ক্ষেত্রের নীচে কমান্ড যুক্ত করা।

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);

এটি ব্যবহার করে কোনও শংসাপত্র বা কিছু যুক্ত করার প্রয়োজন হবে না।


3

সমস্যা স্থির হয়েছে, https://curl.haxx.se/ca/cacert.pem ডাউনলোড করুন এবং এটি "কোথাও" রাখুন এবং এই লাইনটি এতে যুক্ত করুন php.ini:

curl.cainfo = "C:/somewhere/cacert.pem"

পিএস: এক্সএএমপিপি সহ ড্রুপালে মডিউল ইনস্টল করার চেষ্টা করে আমি এই ত্রুটিটি পেয়েছি।


2

পিএইচপি.আইএনইতে নীচে যুক্ত করুন [পথে '\' এর পরিবর্তে '/' ব্যবহার করুন] curl.cainfo = "পথ / cacert.pem"

আমার এক্সএএমপিপি পুনরায় চালু করুন। এটা আমার জন্য ভাল কাজ করেছিল. ধন্যবাদ



1

প্রথমে আপনাকে এই লিঙ্কটি থেকে শংসাপত্রটি ডাউনলোড করতে হবে

https://curl.haxx.se/ca/cacert.pem

এবং এটি এমন একটি জায়গায় স্থাপন করুন যেখানে আপনি ডাউনলোডযোগ্য ফাইলের নামটি চান: cacert.pem সুতরাং আমার ক্ষেত্রে আমি এটি সি এর মধ্যে রাখব: amp wamp64 \ bin \ php \ cacert.pem

তারপরে আপনাকে php.ini ফাইলের অবস্থান নির্দিষ্ট করতে হবে

উদাহরণস্বরূপ, আমি পিএইচপি 7 ব্যবহার করছি php.ini ফাইলটি এখানে অবস্থিত: সি: amp wamp64 \ bin \ php \ php7.0.10 \ php.ini

সুতরাং সেই ফাইলটিতে অ্যাক্সেস করুন এবং এই লাইনটি মুক্ত করুন;

এটিকে ওপেনএসএল.সিফিলের মতো দেখতে আপডেট করুন = "সি: \ wamp64 \ বিন \ পিএইচপি \ cacert.pem"

অবশেষে আপনার অ্যাপাচি সার্ভারটি পুনরায় চালু করুন এবং এগুলিই


1

গুরুত্বপূর্ণ : 4 ঘন্টা পরে, লারাভেল 5.7 এবং পিএইচপি 7 এর সাথে কাজ করা এবং + পিএইচপি আর্টিসন চালান / ব্যবহার করুন লোকালহোস্টে মেইলগানের সাথে সংযোগ করার চেষ্টা করে serve

সমস্যা সমাধানের জন্য গুরুত্বপূর্ণ আইপি http://127.0.0.1:8000 নিয়ে কাজ করবেন না হোস্ট ফাইলের দ্বারা লোকালহোস্ট বা ডোমেন নাম সেট করুন

ঠিক আছে ,


0

সমাধানটি হ'ল আপনার পিএইচপি সংস্করণে অবস্থিত php.ini ফাইলটি সম্পাদনা করা (আমার কাছে এটি php7.0.10) অ্যাপাচে পিএইচপি.in নয় .in আপনি এর মতো একটি মন্তব্য করা ফাইল পাবেন; curl.cainfo এই curl.cainfo এর মতো এই লাইনটি পরিবর্তন করুন = "সি: \ পেরিস্ট্রিকেশন \ cacert.pem"

"পেরিস্টের্টিফিকেট" ডিরেক্টরি তৈরি করতে এবং এর ভিতরে "cacert.pem" ফাইলটি অনুলিপি করতে ভুলবেন না।


আম্প্পসে আমার জন্য কাজ করে, ধন্যবাদ
আলেজান্দ্রো আরান্দা

-1

ঠিক তাই আপনি কীভাবে জানেন যে আমার জন্য কী কাজ করেছে, https://curl.haxx.se/ca/cacert .... এ ফাইলটি কাজ করে নি, পোস্টের জিপ ফোল্ডারের একটিতে ( http: // flwebsites .বিজ / পোস্টস / কিভাবে ফিক্স-কার্ল-ত্রুটি -60-এসএসএল-ইস্যু ) কোনও সমস্যা ছাড়াই আমার পক্ষে কাজ করেছে।

অন্যরা যেমন বলেছে, আপনার হার্ড ড্রাইভের কোনও স্থানে শংসাপত্রের ফাইলটি অনুলিপি করুন, লাইনটি আপডেট করুন

;curl.cainfo 

আপনার php.ini ফাইল পড়তে

curl.cainfo= "path_to_cert\cacert.pem"

আপনার অ্যাপাচি সার্ভার পুনরায় চালু করুন।


ওয়েবসাইট লিঙ্কযুক্ত স্প্যামি।
রিক কুকিয়েলা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.