Question

The PHP League Flysystem for "Spaces" object storage

I am trying to use https://github.com/thephpleague/flysystem-aws-s3-v3 adapter for use with digital ocean spaces as the storage provider as the documentation suggests the api matches amazon s3

Has anyone managed to get flysystem working in any form with digital ocean spaces? I cant seem to work out how to override the base url, the rest of the credentials seem to be passed through.

Show comments

Submit an answer


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Accepted Answer

This was actually very simple simply set the ‘endpoint’ in your filesystem config to the FQDN of DO spaces eg. in filesytems.php

    'DO' => [
        'driver' => 's3',
        'key' => env('AWS_KEY'),
        'secret' => env('AWS_SECRET'),
        'region' => env('AWS_REGION'),
        'bucket' => env('AWS_BUCKET'),
        'endpoint' => env('AWS_URL')
    ],

and in your .env

AWS_URL=https://nyc3.digitaloceanspaces.com

I’ve set the visibility to public. But it doesn’t work. Can anyone help me?

'spaces' => [
            'driver' => 's3',
            'key' => 'your-key',
            'secret' => 'your-secret',
            'region' => 'your-region',
            'bucket' => 'your-bucket',
            'visibility' => 'public',
],

I get the following error: class Storage not found… Where does this class come from?

Become a contributor for community

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

DigitalOcean Documentation

Full documentation for every DigitalOcean product.

Resources for startups and SMBs

The Wave has everything you need to know about building a business, from raising funding to marketing your product.

Get our newsletter

Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.

New accounts only. By submitting your email you agree to our Privacy Policy

The developer cloud

Scale up as you grow — whether you're running one virtual machine or ten thousand.

Get started for free

Sign up and get $200 in credit for your first 60 days with DigitalOcean.*

*This promotional offer applies to new accounts only.