2011-08-24 189 views
22

我得到這個錯誤(路徑的訪問權限?):PHP問題與SSL CA證書

「問題與SSL CA證書(路徑的訪問權限?)」

做當:

$curl = curl_init('https://example.com' . ($method == 'GET' && $params ? '?' . $params : '')); 

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); 
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); 
$response = curl_exec($curl); 

print curl_error($curl) 

在另一臺服務器上正常工作。

SSL正在使用NSS。 PHP 5.3.6

+0

這個問題類似:HTTP:// stackoverflow.com/questions/26099849/amazon-marketplacewebserviceorders-requests-suddenly-failing-php-curl-giving-ss – Marty

+0

我知道這是一個老問題的一點點,但你可以選擇一個「正確的答案」? – gillytech

+0

已經選擇了對我有用的東西。 –

回答

0

得到它的工作,通過重命名nssdb:

mv /etc/pki/nssdb /etc/pki/nssdb.old 
+0

由於某種原因,此解決方案對我無效。看來問題是由升級libcurl引起的。在我的情況下,我不希望任何驗證,但我似乎無法禁用整個事情。有人有其他建議嗎? – Greg

22

過這種情況給使用貝寶IPN,無論是在大約在同一時間兩個服務器。

修復是重啓Apache。

+1

也發生了。自動更新發生了,它創建了一個新的/etc/pki/nssdb/pkcs11.txt文件(並將舊文件移動到了/etc/pki/nssdb/pkcs11.txt.rpmnew)。文件內容相同。日誌中沒有警告或其他信息。 我不知道自動更新是不是罪魁禍首。無論如何,重新啓動php-fpm的確解決了這個問題。 –

+5

值得一提的是,對於Apache來說,簡單的平穩重啓還不夠。我不得不重新啓動服務(即'service httpd restart')。不知道爲什麼造成這種差異,但它確實如此。 – Johno

+1

對於那些在CentOS上使用nginx + php-fpm的人:'sudo service php-fpm restart'應該這樣做: – Curious

11

如果您得到「SSL證書(路徑訪問權限?)問題」,這可能意味着您已刪除/etc/pki/tls/certs/中的所有內容或設置了無效權限(CHMOD)。

如果您使用RHEL/CentOS的,儘量yum reinstall openssl ca-certificates -y

+1

這,而不是重新啓動/重新啓動幫助我。 –

+0

也許'apt-transport-https' – Jonathan

7

剛剛升級到PHP 5.5.17,這是麻煩的開始時。服務器運行PayPal事務,並且cURL在出現此錯誤時開始失敗:「SSL CA證書(路徑訪問權限?)的問題」。

我試圖重新生成證書,修改捲曲選項,沒有任何東西讓我在任何地方。 解決方案是簡單地重新啓動服務器(在我的情況下是CentOS 6.5)。希望這可以幫助某人。

+2

我同意;重啓服務器也爲我解決了問題:) – Latheesan

1

它發生在我更新軟件包後。

一旦我重新啓動Apache,它已經修復。

然後我將它安裝在生產服務器上,然後再次得到它。 這一次是在在/ etc/PKI/TLS /證書的證書混亂/

備份的文件和該命令將修復它:

curl http://curl.haxx.se/ca/cacert.pem -o /etc/pki/tls/certs/ca-bundle.crt