2016-03-18 4 views
0

Ich hatte kürzlich ein Problem mit dem AWS PHP SDK, das eine Weile brauchte, um herauszufinden, ich werde die Lösung hier posten. Hoffentlich rettet es jemanden etwas Zeit.AWS PHP SDK v3 schwerwiegender Fehler nach der Initialisierung - Fehler beim Öffnen von manifest.json.php

schob ich meinen Code und festgestellt, dass dieser Code in schwerwiegenden Fehler führen würde:

public static function fetchAWS() { 
     $sharedConfig = [ 
       'region' => 'us-east-1', 
       'version' => 'latest', 
       'credentials' => [ 
         'key' => self::AWS_APPKEY, 
         'secret' => self::AWS_APPSEC 
       ] 
     ]; 


    return new \Aws\Sdk ($sharedConfig); 
} 
$aws = Class::fetchAWS(); 
$ses = $aws->createSes(); 

Dieser Code fetchAWS() übergeben, sondern in einer schwerwiegenden Ausnahme ohne Fehler führte, wenn createSes() aufrufen.

-J

Antwort

0

So habe ich eine Abschaltfunktion den letzten Fehler, da die \ AWS \ SDK nennen im Wesentlichen gestorben zu erhalten:

register_shutdown_function(function() 
     { 
      if ($e = error_get_last()) { 
       error_log('LAST ERROR---->'. $e['message'] . " in " . $e['file'] . ' line ' . $e['line']); 
      } 
     }); 

Ich benutze ZF2 so Link hilfreich: http://webconsults.eu/blog/entry/78-Error_Handling_for_Debugging_in_Zend_Framework_2

Was ich bekam, war wieder diese Fehlermeldung:

[client 10.180.199.98:54888] LAST ERROR---->include(): Failed opening '/var/www/dev-php/vendor/aws/aws-sdk-php/src/data/manifest.json.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/dev-php/vendor/aws/aws-sdk-php/src/functions.php line 144 
  • Failed opening manifest.json.php

Ich hatte einen funktionierenden Server, damit ich die Ordner verglichen und festgestellt, das SDK nicht korrekt übertragen wurde (z Das Verzeichnis src/data fehlte auf dem Problemserver. Ich musste dies tun, da einige Low-End-Elastic-Beanstalk-Instanzen nicht kompilieren können, so dass es einfacher ist, den Herstellerordner zu pushen.

Wie auch immer, ich holte Komponist und baute auf der Instanz (Fedora) und das Problem ging weg.

Da dies beim ersten Mal so viel Zeit in Anspruch nahm, dachte ich, ich würde die Info weiterleiten.

-J

Verwandte Themen