All Products
Search
Document Center

Function Compute:Cara menambahkan atau menghapus ekstensi bawaan di PHP runtime

Last Updated:Apr 02, 2026

PHP runtime Function Compute secara default menyertakan ekstensi umum. Untuk mengurangi waktu cold-start fungsi atau memenuhi kebutuhan bisnis tertentu, Anda dapat mengontrol ekstensi yang dimuat dengan menyediakan file konfigurasi INI kustom.

Topik ini menggunakan contoh penghapusan ekstensi protobuf. Pendekatan yang sama berlaku untuk menambahkan atau menghapus ekstensi bawaan apa pun. Untuk daftar lengkap ekstensi bawaan yang tersedia, lihat Built-in PHP packages.

Cara kerja

Ketika variabel lingkungan PHP_INI_SCAN_DIR diatur, PHP runtime akan memindai direktori tersebut untuk mencari file INI dan hanya memuat ekstensi yang tercantum dalam file-file tersebut. Dengan demikian, Anda dapat secara eksplisit mengontrol ekstensi yang aktif, menggantikan perilaku default.

Menghapus ekstensi bawaan

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

  • Fungsi Function Compute yang menggunakan PHP runtime

  • Akses ke paket kode fungsi dan pengaturan variabel lingkungan fungsi tersebut

Prosedur

  1. Buat direktori extension di direktori yang sama dengan file entri fungsi Anda.

    Struktur direktori harus tampak seperti berikut:

    .
    |____extension
    | |____my_ext.ini
    |____index.php
  2. Buat file my_ext.ini di dalam direktori extension, lalu cantumkan ekstensi yang ingin dimuat.

    Untuk menghapus suatu ekstensi, beri komentar dengan awalan titik koma (;). Contoh berikut menampilkan daftar lengkap ekstensi dengan protobuf yang dikomentari:

    extension=session.so
    extension=ftp.so
    extension=shmop.so
    extension=bcmath.so
    extension=gettext.so
    extension=pcntl.so
    extension=simplexml.so
    extension=xmlreader.so
    extension=bz2.so
    extension=gmp.so
    extension=pdo.so
    extension=soap.so
    extension=xmlrpc.so
    extension=calendar.so
    extension=iconv.so
    extension=pdo_mysql.so
    extension=sockets.so
    extension=xmlwriter.so
    extension=ctype.so
    extension=imagick.so
    extension=phar.so
    extension=sysvmsg.so
    extension=dom.so
    extension=json.so
    extension=posix.so
    extension=sysvsem.so
    extension=exif.so
    extension=zip.so
    extension=memcached.so
    extension=mbstring.so
    ;extension=protobuf.so
    extension=sysvshm.so
    extension=fileinfo.so
    extension=mysqli.so
    extension=redis.so
    extension=tokenizer.so
    extension=zip.so
    extension=memcached.so
    zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20170718/opcache.so
    zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20170718/xdebug.so
    Catatan

    Ekstensi seperti OPcache dan Xdebug memerlukan direktif zend_extension alih-alih extension.

  3. Buat fungsi menggunakan paket kode dari direktori di atas. Untuk detailnya, lihat Create a function.

  4. Atur variabel lingkungan PHP_INI_SCAN_DIR ke jalur mutlak direktori extension dalam paket penyebaran Anda.

    Sebagai contoh, jika kode Anda dideploy ke /code, atur PHP_INI_SCAN_DIR menjadi /code/extension.

    PHP_INI_SCAN_DIR

    Setelah konfigurasi disimpan, PHP runtime hanya akan memuat ekstensi yang tercantum dalam file my_ext.ini. Ekstensi protobuf tidak lagi dimuat.