Podczas próby skonfigurowania środowiska php w systemie Windows (przy użyciu wampa) w celu korzystania z zestawu Amazon PHP SDK, gdy próbuję uruchomić przykładowy test, pojawia się następujący błąd:
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
Dodałem już następujący wiersz do mojego php.ini
curl.cainfo = C:\Windows\ca-bundle.crt
który jest lokalizacją certyfikatu, który utworzyłem za pomocą tego skryptu VBS VBS-Script
Zrestartowałem również moją usługę WAMP.
curl_setopt($rest, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
pojawia się obraz.Odpowiedzi:
Użyj tego pakietu certyfikatów głównych:
https://curl.haxx.se/ca/cacert.pem
Skopiuj ten pakiet certyfikatów na swój dysk. I używaj tego dalej
php.ini
curl.cainfo = "path_to_cert\cacert.pem"
źródło
curl_setopt($ch, CURLOPT_CAINFO, ini_get('curl.cainfo'));
i w php.ini[cURL] curl.cainfo = C:\dev\xampp\php\cacert.pem
. Plik tam jest, ale nadal pojawia się błąd 60. Czy czegoś brakuje?php.ini
: jeden dla php-cli drugi dla php-web (apache, nginx, ...). Musisz ustawićcurl.cainfo = "path_to_cert\cacert.pem"
na stronę internetową. Z drugiej strony, jeśli widzisz, żecurl.cainfo
to prawda w widoku informacji php, w tym czasie może wystąpić problem z uprawnieniami.curl.cainfo
informacji o moim php. Czy to oznacza, że umieściłem wartość w złym pliku?naprawiłem to, modyfikując
php.ini
plik wC:\wamp\bin\apache\apache2.4.9\bin\
curl.cainfo = "C:/wamp/bin/php/php5.5.12/cacert.pem"
najpierw próbowałem, modyfikując
php.ini
plik wC:\wamp\bin\php\php5.5.12\
i to nie zadziałało.mam nadzieję, że pomoże to komuś, kto szuka prawa
php.ini
do modyfikacjiźródło
Dzięki temu dowiesz się dokładnie, który plik php.ini jest ładowany, więc wiesz, który zmodyfikować. Zmarnowałem dużo czasu, zmieniając zły plik php.ini, ponieważ miałem zainstalowane WAMP i XAMPP.
Nie zapomnij również zrestartować serwera WAMP (lub czegokolwiek, czego używasz) po zmianie php.ini.
źródło
@Overflowh Wypróbowałem powyższą odpowiedź również bez powodzenia. Zmieniłem wersję php z 5.3.24 na 5.5.8, ponieważ to ustawienie będzie działać tylko w php 5.3.7 i nowszych. Następnie znalazłem to http://flwebsites.biz/posts/how-fix-curl-error-60-ssl-issue Pobrałem stamtąd cacert.pem i zastąpiłem ten, który pobrałem / utworzyłem z curl.hxxx.se powyżej i wszystko zaczęło działać. Próbowałem uzyskać weryfikację IPN w piaskownicy PayPal. Z przyjemnością mogę powiedzieć, że po wymianie .pem wszystko jest w porządku, używając ustawienia curl.cainfo w php.ini, którego nadal nie było w 5.3.24.
źródło
@ Hüseyin BABAL
Otrzymuję błąd z powyższym certyfikatem, ale próbuję ten certyfikat i jego działanie.
https://gist.github.com/VersatilityWerks/5719158/download
źródło
Najpierw musimy pobrać ten pakiet certyfikatów głównych:
https://curl.haxx.se/ca/cacert.pem
Przenieś ten plik gdzieś, na przykład do folderu PHP w folderze Wamp / Xampp.
Następnie edytuj plik „php.ini”:
curl.cainfo = "C: /ścieżka/do/twoja/cacert.pem"
i
openssl.cafile = "C: / ścieżka/do/twoja/cacert.pem"
WAŻNY:
Upewnij się, że otwierasz plik „php.ini” bezpośrednio w Eksploratorze Windows. (w moim przypadku: „C: \ DevPrograms \ wamp64 \ bin \ php \ php5.6.25 \ php.ini”).
Nie używaj skrótu do „php.ini” w menu ikony Wamp / Xampp w zasobniku systemowym. Ten skrót nie działał w niektórych przypadkach.
Po zapisaniu pliku „php.ini” nie trzeba ponownie uruchamiać wszystkich usług w ikonie Wamp ani zamykać / ponownie otwierać CMD.
Spróbuj z "var_dump (openssl_get_cert_locations ());" i spójrz na wiersz: ["ini_cafile"] => string (40) "C: /path/to/your/cacert.pem"
Gotowe.
źródło
Problem rozwiązany, pobierz https://curl.haxx.se/ca/cacert.pem i umieść go „gdzieś” i dodaj ten wiersz w
php.ini
:curl.cainfo = "C:/somewhere/cacert.pem"
PS: Otrzymałem ten błąd, próbując zainstalować moduł na drupalu za pomocą xampp.
źródło
Najłatwiejszym rozwiązaniem problemu jest dodanie w polu poniższego polecenia.
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
Korzystanie z tego nie będzie wymagało dodania żadnego certyfikatu ani niczego.
źródło
Dodaj poniższy kod do php.ini [użyj „/” zamiast „\” w ścieżce] curl.cainfo = „path / cacert.pem”
Zrestartowałem mój XAMPP. U mnie to zadziałało. Dzięki
źródło
jeśli cacert.pem z powyższych linków nie działa, spróbuj ten działał dla mnie
https://gist.github.com/VersatilityWerks/5719158/download
źródło
Najpierw musisz pobrać certyfikat z tego linku
https://curl.haxx.se/ca/cacert.pem
i umieść go w miejscu, w którym chcesz, aby nazwa pliku do pobrania to: cacert.pem Więc w moim przypadku umieszczę go pod C: \ wamp64 \ bin \ php \ cacert.pem
Następnie musisz określić lokalizację pliku php.ini
Na przykład używam php 7, plik php.ini znajduje się w: C: \ wamp64 \ bin \ php \ php7.0.10 \ php.ini
Więc uzyskaj dostęp do tego pliku i cofnij zatwierdzenie tej linii; openssl.cafile
zaktualizuj go tak, aby wyglądał następująco openssl.cafile = "C: \ wamp64 \ bin \ php \ cacert.pem"
Na koniec zrestartuj serwer Apache i to wszystko
źródło
WAŻNE : po 4 godzinach pracy z laravel 5.7 i php 7. + i uruchom / użyj php artison, serwuj na localhost próbując połączyć się z mailgunem.
WAŻNE, aby rozwiązać problem, nie działa z IP http://127.0.0.1:8000 użyj lokalnego hosta lub ustaw nazwę domeny według pliku hosta
ok ,
źródło
Rozwiązaniem jest edycja pliku php.ini znajdującego się w twojej wersji php (dla mnie jest to php7.0.10), a nie php.ini apache. Znajdziesz taki skomentowany plik; curl.cainfo Po prostu zmień tę linię, na przykład curl.cainfo = "C: \ permCertificate \ cacert.pem"
Nie zapomnij utworzyć katalogu „permCertificate” i skopiować do niego plik „cacert.pem”.
źródło
Tak żebyś wiedział, co u mnie zadziałało, plik na https://curl.haxx.se/ca/cacert .... nie działał jednak ten w folderze zip w poście pod adresem ( http: // flwebsites .biz / posts / how-fix-curl-error-60-ssl-issue ) działał dla mnie bez żadnych problemów.
Jak powiedzieli inni, skopiuj plik certyfikatu do lokalizacji na dysku twardym, zaktualizuj wiersz
w pliku php.ini do odczytania
curl.cainfo= "path_to_cert\cacert.pem"
Uruchom ponownie serwer Apache.
źródło