Meddelande

Minska
No announcement yet.

Variabel hittas inte, uppkoppling mot AWS S3 i PHP ramverk

Minska
X
 
  • Filter
  • Klockan
  • Show
Clear All
new posts

  • Variabel hittas inte, uppkoppling mot AWS S3 i PHP ramverk

    Använder följande minimalistiska PHP ramverk https://github.com/panique/mini samt Amazon S3

    Använder jag följande kod i ex index functionen i min kontroller kan jag använda $client och komma åt filerna på Amazon S3

    Kod:
    // Instantiate the S3 client with your AWS credentials
            $client = S3Client::factory(array(
    
            'key' => 'YOUR_AWS_ACCESS_KEY_ID',
            'secret' => 'YOUR_AWS_SECRET_ACCESS_KEY',
    
            ));
    Jag vill dock inte behöva ha det i varje funktion jag vill komma åt S3 utan istället lyfta ut det till min konfigurationsfil.

    Ramverket har en konfigurationsfil som jag använder. Här är instruktionerna hur man använder en konfigurationsfil med Amazon S3 http://docs.aws.amazon.com/aws-sdk-p...on-credentials

    Jag lägger följande kod i application/config/config.php

    Kod:
    return array(
        // Bootstrap the configuration file with AWS specific features
        'includes' => array('_aws'),
        'services' => array(
            // All AWS clients extend from 'default_settings'. Here we are
            // overriding 'default_settings' with our default credentials and
            // providing a default region setting.
            'default_settings' => array(
                'params' => array(
                    array(
                        'credentials' => array(
                            'key'    => 'YOUR_AWS_ACCESS_KEY_ID',
                            'secret' => 'YOUR_AWS_SECRET_ACCESS_KEY',
                        )
                    ),
                    'region' => 'us-west-1'
                )
            )
        )
    );
    För att sen komma åt mina nycklar använder jag följande kod, som jag testat på flera ställen.

    Kod:
    use Aws\S3\S3Client;
    $s3Client = S3Client::factory('APP . '/config/config.php');
    $client = $s3Client->get('s3');
    Om jag lägger följande kod i min konfigurationsfil och sedan försöker använda den i min kontroller får jag ett felmeddelande att variablen $client inte hittas. Om jag lägger koden överst i min kontroller utan förklassen, inne i klassen eller inne i en metod får jag upp felmeddelandet

    Fatal error: Uncaught exception 'Aws\Common\Exception\InvalidArgumentException' with message 'The config must be provided as an array or Collection.'
    Kan någon hjälpa mig hur/var jag ska använda koden från dokumentationen i "mitt" ramverk?
    http://www.galnanyheter.com/ - Galna nyheter utöver det vanliga

    Skaffa Dropbox - Ett självklart val för att synkronisera filer mellan datorerna samt telefonen.
Working...
X