Runtime PHP

Fungsi Cloud Run Anda berjalan di lingkungan yang terdiri dari versi sistem operasi dengan paket add-on, dukungan bahasa, dan library PHP Functions Framework yang mendukung dan memanggil fungsi Anda. Lingkungan ini diidentifikasi berdasarkan versi bahasa, dan dikenal sebagai ID runtime.

Persiapan fungsi

Anda dapat menyiapkan fungsi langsung dari Konsol Google Cloud atau menulisnya di komputer lokal, lalu menguploadnya. Guna menyiapkan mesin lokal untuk pengembangan PHP, lihat Menggunakan PHP di Google Cloud.

Runtime dan image dasar PHP yang didukung

Runtime ID Runtime Stack Image dasar runtime
PHP 8.3 php83
  • google-22 (default)
  • google-22-full
  • google-22/php83
  • google-22-full/php83
  • PHP 8.2 php82
  • google-22 (default)
  • google-22-full
  • google-22/php82
  • google-22-full/php82
  • PHP 8.1 php81 google-18-full google-18-full/php81
    PHP 7.4 php74 google-18-full google-18-full/php74

    Memilih runtime Anda

    Anda dapat memilih salah satu runtime PHP yang didukung untuk fungsi Anda selama deployment.

    Anda dapat memilih versi runtime menggunakan Konsol Google Cloud, atau gcloud CLI. Klik tab untuk mendapatkan petunjuk cara menggunakan alat pilihan Anda:

    gcloud

    Tentukan image dasar PHP untuk fungsi Anda menggunakan flag --base-image, saat men-deploy fungsi. Contoh:

    gcloud run deploy FUNCTION \
        --source . \
        --function FUNCTION_ENTRYPOINT \
        --base-image php83
    

    Ganti:

    • FUNCTION dengan nama fungsi yang Anda deployment. Anda dapat menghilangkan parameter ini sepenuhnya, tetapi Anda akan diminta untuk memasukkan nama jika mengabaikannya.

    • FUNCTION_ENTRYPOINT dengan titik entri ke fungsi Anda dalam kode sumber. Ini adalah kode yang dijalankan Cloud Run saat fungsi Anda berjalan. Nilai flag ini harus berupa nama fungsi atau nama class yang sepenuhnya memenuhi syarat yang ada dalam kode sumber Anda.

    Untuk mendapatkan petunjuk mendetail tentang cara men-deploy fungsi menggunakan gcloud CLI, lihat Men-deploy fungsi di Cloud Run.

    Konsol

    Anda dapat memilih versi runtime saat membuat atau memperbarui fungsi Cloud Run di konsol Google Cloud. Untuk mengetahui petunjuk mendetail tentang cara men-deploy fungsi, lihat Men-deploy fungsi di Cloud Run.

    Untuk memilih runtime di konsol Google Cloud saat membuat fungsi, ikuti langkah-langkah berikut:

    1. Di konsol Google Cloud, buka halaman Cloud Run:

      Buka Cloud Run

    2. Klik Tulis fungsi.

    3. Dalam daftar Runtime, pilih versi runtime PHP.

    4. Klik Create, dan tunggu Cloud Run membuat layanan menggunakan revisi placeholder.

    5. Konsol akan mengalihkan Anda ke tab Sumber, tempat Anda dapat melihat kode sumber fungsi. Klik Simpan dan deploy ulang.

    Untuk petunjuk mendetail tentang cara mengupdate versi runtime setelah fungsi Anda di-deploy, lihat Men-deploy ulang kode sumber baru.

    Struktur kode sumber

    Agar fungsi Cloud Run dapat menemukan definisi fungsi Anda, kode sumber harus mengikuti struktur tertentu. Lihat artikel Menulis fungsi Cloud Run untuk mengetahui informasi selengkapnya.

    Konfigurasi PHP

    Anda mengonfigurasi fungsi PHP dengan file php.ini di direktori root fungsi Anda. Anda dapat melihat setelan konfigurasi PHP yang sudah ada dengan fungsi phpinfo() seperti yang ditunjukkan pada contoh kode berikut:

    
    use Psr\Http\Message\ServerRequestInterface;
    
    function phpInfoDemo(ServerRequestInterface $request): string
    {
        // phpinfo() displays its output directly in the function's
        // HTTP response, so we don't need to explicitly return it
        //
        // Note: we recommend deleting the deployed Cloud Function once you no
        // longer need it, as phpinfo() may broadcast potential security issues.
        phpinfo();
        return '';
    }
    

    Menentukan dependensi

    PHP menggunakan Composer untuk mengelola dependensi. Tentukan dependensi untuk fungsi Anda dengan menambahkan dependensi ke file project bernama composer.json.

    Runtime PHP fungsi Cloud Run memerlukan Functions Framework untuk menjadi dependensi eksplisit. Untuk menambahkan Functions Framework sebagai dependensi, jalankan perintah berikut di direktori yang berisi kode fungsi Anda (direktori ini juga harus berisi file composer.json):

    composer require google/cloud-functions-framework
    

    Tindakan ini akan menambahkan Functions Framework ke composer.json dan menginstal paket di direktori vendor/.

    File autoload.php

    Salah satu file yang terdapat dalam direktori vendor/ Anda adalah autoload.php.

    Tambahkan baris berikut ke bagian atas skrip PHP Anda untuk meminta file autoload.php, yang secara otomatis require dependensi lain dari fungsi Anda:

    require_once __DIR__ . '/vendor/autoload.php';
    

    Secara default, direktori vendor/ diabaikan dalam file .gcloudignore yang dihasilkan untuk mengurangi jumlah file yang dikirim dalam deployment.