簡體   English   中英

PHP cURL 錯誤代碼 60

[英]PHP cURL error code 60

Whilst trying to setup a php environment on windows (using wamp) to use the Amazon PHP SDK, when i try to run a sample test I get the following error:

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

這是我使用此 VBS 腳本VBS-Script創建的證書的位置

我也重新啟動了我的 WAMP 服務。

PHP 索引卷曲參考

使用此證書根證書包:

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

將此證書包復制到磁盤上。 並在php.ini上使用它

curl.cainfo = "path_to_cert\cacert.pem"

我通過在C:\\wamp\\bin\\apache\\apache2.4.9\\bin\\修改php.ini文件來修復此問題

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

首先,我試圖修改C:\\wamp\\bin\\php\\php5.5.12\\ php.ini文件,但它無法正常工作。

希望這可以幫助正在搜索正確的php.ini進行修改

@Overflowh我也試過上面的答案,但沒有運氣。 我將php版本從5.3.24更改為5.5.8,因為此設置僅適用於php 5.3.7及更高版本。 然后我發現這個http://flwebsites.biz/posts/how-fix-curl-error-60-ssl-issue我從那里下載了cacert.pem並替換了我從curl.hxxx.se下載/制作的那個以上鏈接,一切都開始工作。 我試圖讓paypal沙盒IPN驗證。 很高興在.pem交換之后說完所有可以使用php.ini中的curl.cainfo設置,但仍然不在5.3.24中。

php --ini

這將告訴您正在加載哪個php.ini文件,因此您知道要修改哪個。 我浪費了很多時間來更改錯誤的php.ini文件,因為我安裝了WAMP和XAMPP。

此外,不要忘記在更改php.ini后重新啟動WAMP服務器(或任何您使用的)。

@HüseyinBABAL

我收到上述證書的錯誤,但我嘗試這個證書及其工作。

https://gist.github.com/VersatilityWerks/5719158/download

解決該問題的最簡單方法是在字段中添加以下命令。

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);

使用它不需要添加任何證書或任何東西。

首先,我們需要下載此證書根證書包:

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

將此文件移動到某個位置,例如Wamp / Xampp文件夾中的PHP文件夾。

然后編輯你的“php.ini”:

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

openssl.cafile = “C:/path/to/your/cacert.pem”

重要:

確保您的Window Explorer直接打開“php.ini”文件。 (在我的情況下:“C:\\ DevPrograms \\ wamp64 \\ bin \\ php \\ php5.6.25 \\ php.ini”)。

不要在系統托盤的Wamp / Xampp圖標菜單中使用“php.ini”的快捷方式。 在我遇到的某些情況下,這條捷徑不起作用。

保存“php.ini”后,您不需要在Wamp圖標中“重新啟動所有服務”或關閉/重新打開CMD。

嘗試使用“var_dump(openssl_get_cert_locations());”並查看行:[“ini_cafile”] => string(40)“C:/path/to/your/cacert.pem”

完成。

問題已修復,請下載https://curl.haxx.se/ca/cacert.pem並將其置於“某處”,並在php.ini添加以下行:

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

PS:我嘗試使用xampp在drupal上安裝模塊時出現此錯誤。

將以下內容添加到php.ini [在路徑中使用'/'而不是'\\'] curl.cainfo =“path / cacert.pem”

重啟了我的XAMPP。 它對我來說很好。 謝謝

如果cacert.pem從上面的鏈接不起作用嘗試這個為我工作

https://gist.github.com/VersatilityWerks/5719158/download

首先,您必須從此鏈接下載證書

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

並把它放在你想要的可下載文件名稱的位置:cacert.pem所以在我的情況下我會把它放在C:\\ wamp64 \\ bin \\ php \\ cacert.pem下

然后你必須指定php.ini文件的位置

例如,我使用php 7 php.ini文件位於:C:\\ wamp64 \\ bin \\ php \\ php7.0.10 \\ php.ini

因此,訪問該文件並取消提交此行; openssl.cafile

也更新它看起來像這樣openssl.cafile =“C:\\ wamp64 \\ bin \\ php \\ cacert.pem”

最后重啟你的apache服務器就是這樣

只要你知道我什么工作,在該文件https://curl.haxx.se/ca/cacert ....沒有然而工作,一個在后,在(Zip文件夾的http:// flwebsites .biz / posts / how-fix-curl-error-60-ssl-issue )對我沒有任何問題。

正如其他人所說,將證書文件復制到硬盤驅動器上的某個位置,更新該行

;curl.cainfo 

在你的php.ini文件中閱讀

curl.cainfo= "path_to_cert\cacert.pem"

重啟Apache服務器。

解決方案是編輯php版本中的php.ini文件(對我而言是php7.0.10)而不是apache的php.ini。 你會發現這樣的評論文件; curl.cainfo只需像這樣改變這一行curl.cainfo =“C:\\ permCertificate \\ cacert.pem”

不要忘記創建“permCertificate”目錄並復制其中的“cacert.pem”文件。

重要提示 :4小時后,使用laravel 5.7和php 7. +並運行/使用php artison在localhost上嘗試連接到mailgun。

重要要解決該問題不與知識產權工作http://127.0.0.1:8000由主機文件使用localhost或設置域名

好 ,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM