2017-03-17 119 views
2

我目前在我的laravel設置(首次使用AWS進行任何操作)上設置了amazon s3,並且遇到了一些麻煩。作爲參考,我使用XAMPP v.3.2.2和PHP 7.0.5。也許有人可以告訴我我錯在哪裏。Laravel的AWL SSL錯誤:無法獲得本地發行者證書

首先,我說這些我composer.json文件:

"require": { 
    "graham-campbell/flysystem": "^3.0", 
    "league/flysystem-aws-s3-v3": "^1.0" 
}, 

跑作曲家更新。

接下來,我已將此添加到我的filesystems.php文件:

's3' => [ 
    'driver' => 's3', 
    'key' => 'A--------edited out for stackoverflow-------WA', 
    'secret' => 'h-------------edited out for stackoverflow-------------B', 
    'region' => 'us-east-1', 
    'bucket' => 'commendmeus', 
], 

最後我試着做一個測試,以確保一切正常。在我的路線文件,我說:

use Illuminate\Support\Facades\Storage; 
get('test', function() { 
     echo 123; 
     $s3 = Storage::disk('s3'); 
     $s3->put('myfile.txt', 'test file', 'public'); 
}); 

不幸的是,我遇到了一個錯誤:

S3Exception in WrappedHttpHandler.php line 192: Error executing "ListObjects" on " https://s3.amazonaws.com/commendmeus?prefix=myfile.txt%2F&max-keys=1&encoding-type=url "; AWS HTTP error: cURL error 60: SSL certificate problem: unable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)

這裏是參考截圖:

enter image description here

我什麼都不知道SSL的,雖然我在stackoverflow上看到類似於我的錯誤,但它可能就像讀給我看中文一樣。任何人都可以幫助我解決適當的行動方案嗎?

+0

您是否查看了錯誤中提到的頁面? http://curl.haxx.se/libcurl/c/libcurl-errors.html –

回答

0

這個問題通常是由引起您的PHP設置中缺少cacert.pem。

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

2下載cacert.pem)複製cacert.pem將PHP目錄(或任何位置)。

3)修改你的php.ini以包含類似這些行。注:該路徑必須是絕對的,正確的爲您的系統(Windows中使用C:例如\路徑\ cacert.pem):

curl.cainfo = /路徑/ cacert.pem

openssl.cafile = /路徑/ cacert.pem

0

請避免使用localhost,請嘗試使用,主機名來命名你的本地域名,並獲得證書(SSL)和應該只是罰款:

例子: https://local.dev

相關問題