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
PHP dan Composer telah diinstal. Untuk informasi lebih lanjut, lihat Instal PHP di Windows.
VS Code telah diinstal. Untuk informasi lebih lanjut, lihat Bangun Lingkungan Pengembangan PHP di Windows.
Gunakan SDK
Gunakan proyek sampel yang disediakan di OpenAPI Explorer
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.
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.

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.

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.

Buka paket yang diekstraksi di VS Code dan jalankan perintah
composer installdi 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",Jalankan perintah
php src/Sample.phpdi terminal untuk menjalankan kode sampel. Jika respons berisi"statusCode":200, pemanggilan berhasil.
Gunakan SDK di proyek yang sudah ada
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.

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.
Salin perintah untuk menginstal SDK dan jalankan perintah di terminal untuk menginstal SDK.
Di panel EXPLORER, klik kanan area kosong dan pilih File Baru untuk membuat file PHP. Beri nama file demo.php.
Inisialisasi klien. Untuk memanggil operasi API Alibaba Cloud, Anda harus menginisialisasi klien terlebih dahulu. Dalam contoh ini, klien ECS diinisialisasi.
PentingAnda 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.
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.
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); } }Panggil operasi API. Sebelum memanggil operasi API, baca Dokumentasi API yang sesuai. Dalam contoh ini, operasi DescribeRegions dari ECS digunakan.
CatatanSetiap 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();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.