簡體   English   中英

AWS的PHP CURL錯誤

[英]PHP CURL error with AWS

我在使用AWS和PHP SDK時遇到一個非常奇怪的錯誤。 在筆記本電腦上使用本地服務器時,我可以使用PHP代碼連接到S3並將對象存儲在存儲桶中。 我還可以連接到我們的測試/登台服務器上的S3。 但是,在我們的生產服務器上,嘗試連接時始終出現以下錯誤:

cURL資源:資源ID#8; cURL錯誤:SSL CA證書有問題(路徑?訪問權限?)(77)

我嘗試將這一行添加到AWS開發工具包的config.inc.php文件中,這是AWS論壇中提到的解決方案:

define('AWS_CERTIFICATE_AUTHORITY',true);

但是錯誤仍然存​​在。 知道什么地方可能出問題了,或者我該如何解決此類問題?

這是Apache錯誤日志中的內容:

即將連接()到mydb.s3.amazonaws.com端口443(#0)*嘗試223.33.211.223 ... *已連接*已連接到mydb.s3.amazonaws.com(223.33.211.223)端口443(#0) *使用證書路徑初始化NSS:/ etc / pki / nssdb *無法初始化NSS數據庫* NSS錯誤-8023 *關閉連接#0 * SSL CA證書有問題(路徑?訪問權限?)

干杯!

在代碼本身中,我們可以添加以下行,以避免出於測試目的的致命錯誤。

error_reporting(E_WARNING);

$s3 = new AmazonS3();
$s3->disable_ssl();
$s3->disable_ssl_verification();

否則,我們會在php.ini文件的末尾添加以下行以獲取SSL證書。

[PHP]
curl.cainfo = "C:\xampp\htdocs\aws\sdk\lib\requestcore\cacert.pem"

原來NSS數據庫存在問題。 apache錯誤日志顯示如下:

使用certpath初始化NSS:/ etc / pki / nssdb *無法初始化NSS數據庫* NSS錯誤-8023

生成新的NSS數據庫並重新啟動apache之后,此問題已解決。

同樣在1.5版中,它們為config.inc.php文件提供了全新的格式。 如果您管理多組憑據,這真的很好。

暫無
暫無

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

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