全部产品
Search
文档中心

Alibaba Cloud SDK:Gunakan Alibaba Cloud SDK untuk PHP di IDE

更新时间:Jul 06, 2025

Topik ini menjelaskan cara menggunakan Alibaba Cloud SDK untuk PHP dalam lingkungan pengembangan terintegrasi (IDE) pada Windows. Contoh ini menggunakan Visual Studio (VS) Code.

Prasyarat

Gunakan SDK

Gunakan proyek sampel yang disediakan di OpenAPI Explorer

Catatan

Jika Anda tidak dapat mengunduh proyek sampel untuk operasi API tertentu, gunakan SDK dalam proyek yang sudah ada. Informasi lebih lanjut tersedia di bagian Gunakan SDK di Proyek yang Sudah Ada.

  1. Kunjungi OpenAPI Explorer. Cari operasi API yang ingin dipanggil. Dalam contoh ini, operasi DescribeRegions dari Elastic Compute Service (ECS) digunakan. Masukkan "DescribeRegions" di kotak pencarian dan klik nama operasi di hasil pencarian untuk membuka halaman debugging API.

    1716346246233_4A41CC11-FA46-4973-BC7B-C4AAD6E7F3F0

  2. Di tab Parameter, tentukan parameter sesuai kebutuhan Anda. Saat menentukan parameter, baca informasi di tab Dokumen di sisi kanan halaman debugging. Pastikan Anda memahami catatan penggunaan operasi dan deskripsi setiap parameter. Perhatikan informasi terkait penagihan.

    1716346635851_0B018C7F-D759-497b-B529-58E23E4AC41B

  3. Di tab SDK Sample Code di sisi kanan halaman debugging, pilih bahasa pemrograman PHP dan klik Unduh Proyek untuk mengunduh paket proyek sampel lengkap ke komputer Anda. Ekstrak paket tersebut.

    image

  4. Buka paket yang diekstraksi di VS Code dan jalankan perintah composer install di terminal untuk menginstal dependensi yang diperlukan oleh proyek sampel.

    Kesalahan berikut mungkin dilaporkan saat menjalankan perintah composer install:

    Persyaratan Anda tidak dapat diselesaikan menjadi satu set paket yang dapat diinstal.
    
      Masalah 1
        - Root composer.json memerlukan alibabacloud/ecs-20140526 ^4.1.6 -> memenuhi persyaratan oleh alibabacloud/ecs-20140526[4.1.6].
        - alibabacloud/ecs-20140526 4.1.6 memerlukan alibabacloud/tea-utils ^0.2.20 -> ditemukan alibabacloud/tea-utils[dev-master, 0.1.0, ..., 0.2.19] tetapi tidak sesuai dengan batasan.

    Untuk memperbaiki kesalahan, modifikasi versi dependensi alibabacloud/ecs-20140526 di file composer.json.

    "alibabacloud/ecs-20140526": "^4.1",
  5. Jalankan perintah php src/Sample.php di terminal untuk menjalankan kode sampel. Jika respons berisi "statusCode":200, pemanggilan berhasil.

    image

Gunakan SDK di proyek yang sudah ada

  1. Kunjungi SDK Center dan pilih layanan cloud yang SDK-nya ingin digunakan. Dalam contoh ini, ECS digunakan. Pilih V2.0 dari daftar drop-down SDK Generation dan pilih PHP di bagian Semua Bahasa.

    image

  2. Buka VS Code. Di bilah navigasi atas, pilih File > Buka Folder. Buat atau pilih folder proyek yang sudah ada. Dalam contoh ini, folder bernama phpprojects dibuat dan dipilih.

  3. Salin perintah untuk menginstal SDK dan jalankan perintah di terminal untuk menginstal SDK.

  4. Di panel EXPLORER, klik kanan area kosong dan pilih File Baru untuk membuat file PHP. Beri nama file demo.php.

  5. Inisialisasi klien. Untuk memanggil operasi API Alibaba Cloud, Anda harus menginisialisasi klien terlebih dahulu. Dalam contoh ini, klien ECS diinisialisasi.

    Penting
    1. Anda harus menggunakan pasangan AccessKey untuk menyelesaikan verifikasi identitas saat menginisialisasi klien. Dalam hal ini, Anda harus memperoleh pasangan AccessKey terlebih dahulu. Untuk informasi lebih lanjut tentang cara memperoleh pasangan AccessKey, lihat Buat Pasangan AccessKey.

    2. Setelah memperoleh pasangan AccessKey dari pengguna RAM, konfigurasikan pasangan AccessKey di variabel lingkungan. Untuk informasi lebih lanjut, lihat Konfigurasikan Variabel Lingkungan di Linux, macOS, dan Windows.

    3. Untuk informasi lebih lanjut tentang cara mengonfigurasi titik akhir, lihat Titik Akhir.

    <?php
    use AlibabaCloud\Credentials\Credential\Config;
    use AlibabaCloud\SDK\Ecs\V20140526\Ecs;
    
    
    class Sample
    {
        /**
         * Buat klien ECS.
         * Anda dapat menggunakan metode ini untuk menginisialisasi dan mengembalikan klien ECS, yang dapat digunakan untuk memanggil operasi API ECS. 
         * Anda dapat memperoleh ID AccessKey dan Rahasia AccessKey dari variabel lingkungan untuk mengonfigurasi klien ECS. Ini mencegah kebocoran informasi sensitif dan memastikan akses aman ke informasi sensitif. 
         * 
         * @return Ecs Kembalikan klien ECS yang dikonfigurasi.
         */
        public static function createClient()
        {
            // Buat objek konfigurasi.
            $config = new Config([
                "accessKeyId" => getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), // Dapatkan ID AccessKey dari pengguna Resource Access Management (RAM) dari variabel lingkungan.
                "accessKeySecret" => getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"), // Dapatkan Rahasia AccessKey dari pengguna RAM dari variabel lingkungan.
                "endpoint" => "ecs.cn-hangzhou.aliyuncs.com" // Tentukan titik akhir ECS.
            ]);
    
            // Buat klien ECS lain berdasarkan konfigurasi sebelumnya.
            return new Ecs($config);
        }
    }
  6. Panggil operasi API. Sebelum memanggil operasi API, baca Dokumentasi API yang sesuai. Dalam contoh ini, operasi DescribeRegions dari ECS digunakan.

    Catatan

    Setiap operasi API memiliki objek permintaan dengan format ${Nama API}${Permintaan}. Contoh: DescribeRegionsRequest.

    <?php
    
    require_once 'vendor/autoload.php';
    
    use AlibabaCloud\SDK\Ecs\V20140526\Ecs;
    use AlibabaCloud\SDK\Ecs\V20140526\Models\DescribeRegionsRequest;
    use AlibabaCloud\Tea\Utils\Utils\RuntimeOptions;
    use Darabonba\OpenApi\Models\Config;
    
    
    class Sample
    {
        /**
         * Buat klien ECS.
         * Anda dapat menggunakan metode ini untuk menginisialisasi dan mengembalikan klien ECS, yang dapat digunakan untuk memanggil operasi API ECS. 
         * Anda dapat memperoleh ID AccessKey dan Rahasia AccessKey dari variabel lingkungan untuk mengonfigurasi klien ECS. Ini mencegah kebocoran informasi sensitif dan memastikan akses aman ke informasi sensitif. 
         * 
         * @return Ecs Kembalikan klien ECS yang dikonfigurasi.
         */
        public static function createClient()
        {
            // Buat objek konfigurasi.
            $config = new Config([
                "accessKeyId" => getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), // Dapatkan ID AccessKey dari pengguna RAM dari variabel lingkungan.
                "accessKeySecret" => getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"), // Dapatkan Rahasia AccessKey dari pengguna RAM dari variabel lingkungan.
                "endpoint" => "ecs.cn-hangzhou.aliyuncs.com" // Tentukan titik akhir ECS.
            ]);
    
            // Buat klien ECS lain berdasarkan konfigurasi sebelumnya.
            return new Ecs($config);
        }
        /**
         * 
         * Fungsi ini digunakan untuk menunjukkan cara menggunakan klien SDK untuk memanggil operasi DescribeRegions. 
         * Anda dapat menggunakan fungsi ini untuk membuat klien, membangun objek permintaan, dan memanggil operasi. 
         * Jika pemanggilan gagal, pengecualian ditangkap dan pesan kesalahan dikembalikan. 
         */
        public static function main()
        {
            // Buat klien SDK.
            $client = self::createClient();
            // Buat objek permintaan DescribeRegionsRequest dan jangan tentukan parameter untuk objek permintaan.
            $describeRegionsRequest = new DescribeRegionsRequest([]);
            // Buat instance RuntimeOptions dan jangan tentukan parameter untuk instance tersebut.
            $runtime = new RuntimeOptions([]);
            try {
                // Gunakan metode describeRegionsWithOptions di klien untuk memanggil operasi.
                // Blok try-catch digunakan untuk menangkap pengecualian yang mungkin terjadi.
                $result = $client->describeRegionsWithOptions($describeRegionsRequest, $runtime);
                print_r($result);
            } catch (Exception $error) {
                // Tangani pengecualian dengan hati-hati dalam skenario bisnis aktual dan jangan abaikan pengecualian dalam proyek Anda. Dalam contoh ini, informasi ditampilkan hanya untuk referensi. 
                var_dump($error->message);
            }
        }
    }
    
    Sample::main();
  7. Tangani pengecualian. Tangani pengecualian dengan hati-hati dalam skenario bisnis aktual dan jangan abaikan pengecualian dalam proyek Anda. Kami sarankan Anda menangani pengecualian dengan benar melalui operasi seperti melaporkan pengecualian, mencatat log, dan melakukan percobaan ulang. Ini membantu memastikan ketangguhan dan stabilitas sistem Anda. Untuk informasi lebih lanjut tentang cara menangani pengecualian di SDK untuk PHP, lihat Tangani Pengecualian.

    <?php
    
    require_once 'vendor/autoload.php';
    
    use AlibabaCloud\SDK\Ecs\V20140526\Ecs;
    use AlibabaCloud\SDK\Ecs\V20140526\Models\DescribeRegionsRequest;
    use AlibabaCloud\Tea\Utils\Utils\RuntimeOptions;
    use Darabonba\OpenApi\Models\Config;
    
    
    class Sample
    {
        /**
         * Buat klien ECS.
         * Anda dapat menggunakan metode ini untuk menginisialisasi dan mengembalikan klien ECS, yang dapat digunakan untuk memanggil operasi API ECS. 
         * Anda dapat memperoleh ID AccessKey dan Rahasia AccessKey dari variabel lingkungan untuk mengonfigurasi klien ECS. Ini mencegah kebocoran informasi sensitif dan memastikan akses aman ke informasi sensitif. 
         * 
         * @return Ecs Kembalikan klien ECS yang dikonfigurasi.
         */
        public static function createClient()
        {
            // Buat objek konfigurasi.
            $config = new Config([
                "accessKeyId" => getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), // Dapatkan ID AccessKey dari pengguna RAM dari variabel lingkungan.
                "accessKeySecret" => getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"), // Dapatkan Rahasia AccessKey dari pengguna RAM dari variabel lingkungan.
                "endpoint" => "ecs.cn-hangzhou.aliyuncs.com" // Tentukan titik akhir ECS.
            ]);
    
            // Buat klien ECS lain berdasarkan konfigurasi sebelumnya.
            return new Ecs($config);
        }
        /**
         * 
         * Fungsi ini digunakan untuk menunjukkan cara menggunakan klien SDK untuk memanggil operasi DescribeRegions. 
         * Anda dapat menggunakan fungsi ini untuk membuat klien, membangun objek permintaan, dan memanggil operasi. 
         * Jika pemanggilan gagal, pengecualian ditangkap dan pesan kesalahan dikembalikan. 
         */
        public static function main()
        {
            // Buat klien SDK.
            $client = self::createClient();
            // Buat objek permintaan DescribeRegionsRequest dan jangan tentukan parameter untuk objek permintaan.
            $describeRegionsRequest = new DescribeRegionsRequest([]);
            // Buat instance RuntimeOptions dan jangan tentukan parameter untuk instance tersebut.
            $runtime = new RuntimeOptions([]);
            try {
                // Gunakan metode describeRegionsWithOptions di klien untuk memanggil operasi.
                // Blok try-catch digunakan untuk menangkap pengecualian yang mungkin terjadi.
                $result = $client->describeRegionsWithOptions($describeRegionsRequest, $runtime);
                print_r($result);
            } catch (Exception $error) {
                if ($error instanceof TeaError) {
                    // Tangani pengecualian dengan hati-hati dalam skenario bisnis aktual dan jangan abaikan pengecualian dalam proyek Anda. Dalam contoh ini, informasi ditampilkan hanya untuk referensi. 
                    print_r("message:" . $error->getMessage() . "\n");
                    print_r("code:" . $error->getCode() . "\n");
                    print_r($error->data);
                } elseif ($error instanceof TeaUnableRetryError) {
                    // Tangani pengecualian dengan hati-hati dalam skenario bisnis aktual dan jangan abaikan pengecualian dalam proyek Anda. Dalam contoh ini, informasi ditampilkan hanya untuk referensi. 
                    print_r($error->getLastException());
                } else {
                    // Tangani pengecualian dengan hati-hati dalam skenario bisnis aktual dan jangan abaikan pengecualian dalam proyek Anda. Dalam contoh ini, informasi ditampilkan hanya untuk referensi. 
                    print_r("message:" . $error->getMessage());
                }
            }
        }
    }
    
    Sample::main();

FAQ

  • Apa yang harus saya lakukan jika kesalahan "cURL error 60: Masalah sertifikat SSL: tidak dapat mendapatkan sertifikat penerbit lokal" dilaporkan saat saya memanggil operasi API?

    • Unduh sertifikat otoritas sertifikat (CA) tepercaya. Misalnya, unduh sertifikat CA dari Mozilla. Untuk informasi lebih lanjut, lihat Sertifikat CA yang Diekstrak dari Mozilla.

    • Konfigurasikan jalur sertifikat SSL untuk PHP. Cari parameter curl.cainfo di file php.ini, atur nilai parameter ini ke jalur absolut sertifikat CA, dan hapus tanda titik koma (;) sebelum parameter.

    • Mulai ulang layanan PHP.

Referensi

Referensi lanjutan