我一直在我的開發服務器上遇到問題,其中cURL在完全適用於任何HTTP的情況下,無法正常使用任何HTTPS - 甚至是具有不同協議的完全相同的資源(用於測試I'我一直在使用http和https請求google.com)。PHP cURL不能使用HTTPS
返回的cURL錯誤是35:「SSL/TLS握手中某處發生了問題。」
我已經梳理了Web和SO以獲得解決方案,並且它們都將CURLOPT_SSL_VERIFYPEER設置爲false,這不會改變任何內容,或者下載證書文件並將CURLOPT_CAINFO設置爲其路徑,這也不會改變任何內容。
設置證書時,我按照this tutorial和this tutorial的說明嘗試同時爲我請求的資源下載證書,然後下載證書包。對於我的問題的徹底性,我設置的其他選項是CURLOPT_VERBOSE = true,CURLOPT_RETURNTRANSFER = true,和CURLOPT_SSL_VERIFYHOST = 2(我已經嘗試了1和2的每個組合與VERIFYPEER都是真的和假的)。我也已經在phpinfo()中確認我有OpenSSL並且已啓用。
我使用了很多舊代碼,這些代碼在我的上一個生產服務器上運行完美,所以此代碼已工作過。但是,託管是共享主機,我不知道那裏的大部分配置。
您訪問的網址是否相同?你遇到了我在處理這個問題時所做的大部分研究。 – Jason 2012-03-19 17:01:12
我使用了http:// www.google.com,它工作;和https:// www.google.com,但沒有。 – spezied 2012-03-19 19:08:23
@Spezied,如果提供的答案回答你的問題,你可以選擇它作爲你的答案,所以問題可以被關閉?謝謝。 – 2012-03-24 21:33:14