[英]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 服務。
使用此證書根證書包:
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服務器(或任何您使用的)。
解決該問題的最簡單方法是在字段中添加以下命令。
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://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.