Mengkonfigurasi AWS SDK untuk PHP dengan S3
Amazon Web Services (AWS) ialah platform berkuasa yang menawarkan pelbagai perkhidmatan untuk pembangun dan perniagaan. Antara perkhidmatan ini, Amazon Simple Storage Service (S3) adalah salah satu perkhidmatan yang paling popular dan digunakan secara meluas. Untuk berinteraksi dengan S3 secara pemrograman, anda boleh menggunakan AWS SDK untuk PHP. Dalam artikel ini, kami akan membimbing anda melalui proses mengkonfigurasi AWS SDK untuk PHP dengan S3.
Prasyarat
Sebelum kami bermula, pastikan anda mempunyai perkara berikut:
- Akaun AWS
- ID Kunci Akses AWS dan Kunci Akses Rahsia
- PHP 5.6 atau lebih tinggi
- Komposer dipasang
Pemasangan
Untuk memasang AWS SDK untuk PHP, anda boleh menggunakan Komposer. Jalankan arahan berikut dalam terminal anda:
composer require aws/aws-sdk-php
Arahan ini akan memasang versi terkini AWS SDK untuk PHP dalam projek anda.
Konfigurasi
Setelah anda memasang SDK, anda perlu mengkonfigurasinya dengan ID Kunci Akses AWS dan Kunci Akses Rahsia anda. Anda boleh melakukan ini dengan mencipta fail konfigurasi atau dengan menetapkan pembolehubah persekitaran.
Fail Konfigurasi
Buat fail baharu bernama config.php dalam projek anda dan tambahkan kod berikut:
<?php require 'vendor/autoload.php'; use Aws\Sdk; $sdk = new Sdk([ 'region' => 'us-east-1', 'version' => 'latest', 'credentials' => [ 'key' => 'YOUR_ACCESS_KEY_ID', 'secret' => 'YOUR_SECRET_ACCESS_KEY', ] ]); $s3Client = $sdk->createS3();
Ganti YOUR_ACCESS_KEY_ID dan YOUR_SECRET_ACCESS_KEY dengan ID Kunci Akses AWS dan Kunci Akses Rahsia anda yang sebenar.
Pembolehubah Persekitaran
Sebagai alternatif, anda boleh menetapkan ID Kunci Akses AWS dan Kunci Akses Rahsia sebagai pembolehubah persekitaran:
export AWS_ACCESS_KEY_ID=YOUR_ACCESS_KEY_ID export AWS_SECRET_ACCESS_KEY=YOUR_SECRET_ACCESS_KEY
Kemudian, cipta klien S3 seperti berikut:
<?php require 'vendor/autoload.php'; use Aws\Sdk; $sdk = new Sdk([ 'region' => 'us-east-1', 'version' => 'latest', ]); $s3Client = $sdk->createS3();
Bersedia untuk mengetahui lebih lanjut tentang AWS dan PHP? Lihat artikel kami yang lain tentang AWS konfigurasi SSO dan Memperbaiki ralat kebenaran laravel yang ditolak.
Penggunaan
Sekarang anda telah mengkonfigurasi AWS SDK untuk PHP dengan S3, anda boleh mula menggunakannya untuk berinteraksi dengan baldi S3 anda. Berikut ialah contoh cara menyenaraikan semua baldi dalam akaun anda:
$buckets = $s3Client->listBuckets(); foreach ($buckets['Buckets'] as $bucket) { echo $bucket['Name'] . PHP_EOL; }
Pasti, berikut ialah beberapa contoh tambahan dan amalan terbaik untuk menggunakan AWS SDK untuk PHP dengan S3.
Memuat naik Fail
Untuk memuat naik fail ke baldi S3, anda boleh menggunakan kaedah putObject. Berikut ialah contoh:
$bucketName = 'my-bucket'; $keyName = 'my-file.txt'; $filePath = '/path/to/my-file.txt'; $result = $s3Client->putObject([ 'Bucket' => $bucketName, 'Key' => $keyName, 'SourceFile' => $filePath, ]); echo $result['ObjectURL'] . PHP_EOL;
Kod ini akan memuat naik fail yang terletak di /path/to/my-file.txt ke baldi baldi saya dan mencetak URL fail yang dimuat naik.
Memuat turun Fail
Untuk memuat turun fail daripada baldi S3, anda boleh menggunakan kaedah getObject. Berikut ialah contoh:
$bucketName = 'my-bucket'; $keyName = 'my-file.txt'; $filePath = '/path/to/downloaded-file.txt'; $result = $s3Client->getObject([ 'Bucket' => $bucketName, 'Key' => $keyName, 'SaveAs' => $filePath, ]); echo $result['ContentLength'] . ' bytes downloaded.' . PHP_EOL;
Kod ini akan memuat turun fail dengan kekunci my-file.txt daripada baldi baldi saya dan menyimpannya ke /path/to/downloaded-file.txt.
Menyenaraikan Objek
Untuk menyenaraikan objek dalam baldi S3, anda boleh menggunakan kaedah listObjects. Berikut ialah contoh:
$bucketName = 'my-bucket'; $result = $s3Client->listObjects([ 'Bucket' => $bucketName, ]); foreach ($result['Contents'] as $object) { echo $object['Key'] . PHP_EOL; }
Kod ini akan menyenaraikan semua objek dalam baldi baldi saya dan mencetak kuncinya.
Amalan Terbaik - AWS SDK + PHP + S3
Berikut ialah beberapa amalan terbaik yang perlu diingat apabila menggunakan AWS SDK untuk PHP dengan S3:
- Gunakan peranan dan dasar IAM untuk mengurus akses kepada sumber S3 anda.
- Gunakan versi untuk menyimpan berbilang versi objek anda dan melindungi daripada pemadaman tidak sengaja.
- Gunakan dasar kitaran hayat untuk mengurus storan dan pengekalan objek anda secara automatik.
- Gunakan pecutan pemindahan untuk meningkatkan prestasi muat naik dan muat turun anda.
- Gunakan penyulitan sebelah pelayan untuk melindungi data anda dalam keadaan rehat.
- Gunakan pemberitahuan acara untuk mencetuskan tindakan berdasarkan perubahan pada objek S3 anda.
Pasti, berikut ialah beberapa petua tambahan untuk menggunakan AWS SDK untuk PHP dengan S3 dalam Laravel.
Menggunakan AWS SDK untuk PHP dengan Laravel
Laravel mempunyai sokongan terbina dalam untuk AWS SDK untuk PHP, yang memudahkan penggunaan S3 dalam aplikasi Laravel anda. Berikut ialah beberapa petua untuk menggunakan SDK dengan Laravel:
- Pasang pakej AWS SDK untuk PHP melalui Komposer:
composer require aws/aws-sdk-php
- Konfigurasikan bukti kelayakan AWS anda dalam fail .env anda:
AWS_ACCESS_KEY_ID=your_access_key_id AWS_SECRET_ACCESS_KEY=your_secret_access_key AWS_DEFAULT_REGION=your_region
- Gunakan fasad Storan untuk berinteraksi dengan S3:
use Illuminate\Support\Facades\Storage; // Upload a file Storage::disk('s3')->put('my-file.txt', file_get_contents('/path/to/my-file.txt')); // Download a file Storage::disk('s3')->download('my-file.txt', '/path/to/downloaded-file.txt'); // List the objects in a bucket $objects = Storage::disk('s3')->listContents('my-bucket'); foreach ($objects as $object) { echo $object['path'] . PHP_EOL; }
- Gunakan penyesuai Flysystem Laravel untuk menyesuaikan gelagat fasad Storan:
use Illuminate\Support\ServiceProvider; use League\Flysystem\AwsS3V3\AwsS3V3Adapter; use Aws\S3\S3Client; class S3ServiceProvider extends ServiceProvider { public function register() { $this->app->singleton('filesystems.disks.s3', function ($app) { return new AwsS3V3Adapter( new S3Client([ 'region' => config('filesystems.disks.s3.region'), 'version' => 'latest', 'credentials' => [ 'key' => config('filesystems.disks.s3.key'), 'secret' => config('filesystems.disks.s3.secret'), ], ]), config('filesystems.disks.s3.bucket') ); }); } }
- Gunakan sistem baris gilir Laravel untuk melaksanakan operasi S3 secara tidak segerak:
use Illuminate\Support\Facades\Storage; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Contracts\Queue\ShouldQueue; class UploadFile implements ShouldQueue { use InteractsWithQueue; protected $filePath; public function __construct($filePath) { $this->filePath = $filePath; } public function handle() { Storage::disk('s3')->put('my-file.txt', file_get_contents($this->filePath)); } }
Amalan Terbaik - AWS SDK + PHP + Laravel
Berikut ialah beberapa amalan terbaik yang perlu diingat apabila menggunakan AWS SDK untuk PHP dengan S3 dalam Laravel:
- Gunakan sokongan terbina dalam Laravel untuk AWS SDK untuk PHP untuk memudahkan kod anda dan mengurangkan jumlah kod boilerplate yang anda perlu tulis.
- Gunakan sistem baris gilir Laravel untuk melaksanakan operasi S3 secara tidak segerak, yang boleh meningkatkan prestasi dan kebolehskalaan aplikasi Laravel anda.
- Gunakan penyesuai Flysystem Laravel untuk menyesuaikan gelagat fasad Storan dan untuk menyepadukan S3 dengan ciri Laravel lain, seperti sistem cache Laravel.
- Gunakan sistem baris gilir Laravel untuk melaksanakan operasi S3 secara tidak segerak, yang boleh meningkatkan prestasi dan kebolehskalaan aplikasi Laravel anda.
- Gunakan ciri penyulitan Laravel untuk menyulitkan data sensitif sebelum menyimpannya dalam S3.
- Gunakan ciri pengelogan Laravel untuk log sebarang ralat atau pengecualian yang berlaku apabila menggunakan AWS SDK untuk PHP dengan S3.
Kesimpulan
Dalam artikel ini, kami telah membincangkan asas mengkonfigurasi AWS SDK untuk PHP dengan S3 dan menyediakan beberapa contoh tambahan dan amalan terbaik untuk menggunakan SDK dengan S3. Kami juga telah menyediakan beberapa petua tambahan untuk menggunakan SDK dengan S3 dalam Laravel. Dengan mengikuti garis panduan ini, anda boleh memastikan bahawa aplikasi PHP anda selamat, cekap dan berskala.
Ingin mengetahui lebih lanjut tentang AWS dan PHP? Lihat artikel kami yang lain tentang DevOps Mind.
Atas ialah kandungan terperinci Mengkonfigurasi AWS SDK untuk PHP dengan S3. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











Dalam php, kata laluan_hash dan kata laluan 1) password_hash menjana hash yang mengandungi nilai garam untuk meningkatkan keselamatan. 2) Kata Laluan_verify Sahkan kata laluan dan pastikan keselamatan dengan membandingkan nilai hash. 3) MD5 dan SHA1 terdedah dan kekurangan nilai garam, dan tidak sesuai untuk keselamatan kata laluan moden.

Jenis PHP meminta untuk meningkatkan kualiti kod dan kebolehbacaan. 1) Petua Jenis Skalar: Oleh kerana Php7.0, jenis data asas dibenarkan untuk ditentukan dalam parameter fungsi, seperti INT, Float, dan lain -lain. 2) Return Type Prompt: Pastikan konsistensi jenis nilai pulangan fungsi. 3) Jenis Kesatuan Prompt: Oleh kerana Php8.0, pelbagai jenis dibenarkan untuk ditentukan dalam parameter fungsi atau nilai pulangan. 4) Prompt jenis yang boleh dibatalkan: membolehkan untuk memasukkan nilai null dan mengendalikan fungsi yang boleh mengembalikan nilai null.

PHP terutamanya pengaturcaraan prosedur, tetapi juga menyokong pengaturcaraan berorientasikan objek (OOP); Python menyokong pelbagai paradigma, termasuk pengaturcaraan OOP, fungsional dan prosedur. PHP sesuai untuk pembangunan web, dan Python sesuai untuk pelbagai aplikasi seperti analisis data dan pembelajaran mesin.

Menggunakan penyataan preprocessing dan PDO dalam PHP secara berkesan dapat mencegah serangan suntikan SQL. 1) Gunakan PDO untuk menyambung ke pangkalan data dan tetapkan mod ralat. 2) Buat kenyataan pra -proses melalui kaedah menyediakan dan lulus data menggunakan ruang letak dan laksanakan kaedah. 3) Hasil pertanyaan proses dan pastikan keselamatan dan prestasi kod.

PHP dan Python mempunyai kelebihan dan kekurangan mereka sendiri, dan pilihannya bergantung kepada keperluan projek dan keutamaan peribadi. 1.PHP sesuai untuk pembangunan pesat dan penyelenggaraan aplikasi web berskala besar. 2. Python menguasai bidang sains data dan pembelajaran mesin.

PHP menggunakan sambungan MySQLI dan PDO untuk berinteraksi dalam operasi pangkalan data dan pemprosesan logik sisi pelayan, dan memproses logik sisi pelayan melalui fungsi seperti pengurusan sesi. 1) Gunakan MySQLI atau PDO untuk menyambung ke pangkalan data dan laksanakan pertanyaan SQL. 2) Mengendalikan permintaan HTTP dan status pengguna melalui pengurusan sesi dan fungsi lain. 3) Gunakan urus niaga untuk memastikan atomik operasi pangkalan data. 4) Mencegah suntikan SQL, gunakan pengendalian pengecualian dan sambungan penutup untuk debugging. 5) Mengoptimumkan prestasi melalui pengindeksan dan cache, tulis kod yang sangat mudah dibaca dan lakukan pengendalian ralat.

PHP digunakan untuk membina laman web dinamik, dan fungsi terasnya termasuk: 1. Menjana kandungan dinamik dan menghasilkan laman web secara real time dengan menyambung dengan pangkalan data; 2. Proses Interaksi Pengguna dan Penyerahan Bentuk, Sahkan Input dan Menanggapi Operasi; 3. Menguruskan sesi dan pengesahan pengguna untuk memberikan pengalaman yang diperibadikan; 4. Mengoptimumkan prestasi dan ikuti amalan terbaik untuk meningkatkan kecekapan dan keselamatan laman web.

PHP sesuai untuk pembangunan web dan prototaip pesat, dan Python sesuai untuk sains data dan pembelajaran mesin. 1.Php digunakan untuk pembangunan web dinamik, dengan sintaks mudah dan sesuai untuk pembangunan pesat. 2. Python mempunyai sintaks ringkas, sesuai untuk pelbagai bidang, dan mempunyai ekosistem perpustakaan yang kuat.
