2016-06-12 66 views
0

因此,我們在我們的系統上運行Laravel 5.1 API,並使用AWS SDK for PHP將作業推送到Amazon SQS,並使用S3存儲桶存儲化身,附件等。爲什麼AWS SDK的更新會打破Laravel 5.1?

除了上次我們運行作曲家更新,下載的AWS SDK版本是3.18.15,這似乎打破了這兩個確切的功能。

從s3(通過使用Storage :: get()獲取文件)的作業發送和圖像呈現均失敗,指示庫中發生根本性更改的問題。

我懷疑SDK更新的主要原因是因爲當我從composer緩存加載舊版本(3.18.12)時,所有這些功能都正常工作。這個更新似乎打破了它。

你們有沒有遇到過這種行爲?有什麼我可以幫助解決這個問題嗎?

代碼渲染文件:

$cachedImg = Image::cache(
       function ($image) use ($width, $height, $remote, $id) { 
        $image = $image->make($remote->get($id)); 
        if (empty($width) && empty($height)) { 
         return; 
        } 
        $image->resize(
         $width, 
         $height, 
         function ($constraint) { 
          $constraint->aspectRatio(); 
         } 
        ); 
       }, 
       60 /* lifetime: 60 minutes */, 
       true 
      ); 

我只得到的「無法從給定的二進制數據初始化」這個例外,併爲推動工作的堆棧跟蹤是怪異。

exception 'Exception' with message 'String could not be parsed as XML' in /home/mdapi/api/MyDoc-API-2.0/vendor/aws/aws-sdk-php/src/Api/Parser/PayloadParserTrait.php:39 

StackTrace1

StackTrace2

+0

該堆棧跟蹤中第20行的NULL是什麼? – Ohgodwhy

+0

@Ohgodwhy我很確定這是Laravel的工作調度員。不知道它做了什麼。 – narasi

回答

0

如果有人還在看這個帖子,FWIW,更新狂飲和AWS SDK解決了這個問題。