全部产品
Search
文档中心

Function Compute:Ikhtisar

更新时间:Jul 02, 2025

Topik ini menjelaskan waktu proses PHP yang digunakan untuk menulis kode fungsi di Function Compute.

Waktu proses PHP

Function Compute mendukung waktu proses PHP berikut:

Versi

Sistem operasi

Arsitektur

PHP 7.2

Linux

x86_64

Paket PHP bawaan

Function Compute menyediakan paket bawaan berikut untuk waktu proses PHP.

Paket

Versi

Deskripsi

oss

v2.4.3

Object Storage Service (OSS) SDK untuk PHP

tablestore

v4.1.1

TableStore SDK untuk PHP

mns

v1.3.5.5

Simple Message Queue (sebelumnya MNS) SDK untuk PHP

fc

v1.2.1

Function Compute SDK untuk PHP

Ekstensi PHP bawaan

Built-in extensions

Catatan

Untuk melihat dan mencetak informasi tentang ekstensi PHP yang terpasang, Anda dapat menyertakan print_r(get_loaded_extensions()); dalam kode fungsi yang ingin dikelola.

bcmath

bz2

calendar

Core

ctype

curl

date

dom

exif

fileinfo

filter

ftp

gd

gettext

gmp

hash

iconv

imagick

json

libxml

mbstring

memcached

mysqli

mysqlnd

openSSL

pcntl

pcre

PDO

pdo_mysql

Phar

posix

protobuf

readline

redis

Reflection

session

shmop

SimpleXML

soap

sockets

SPL

standard

sysvmsg

sysvsem

sysvshm

tokenizer

Xdebug

xml

xmlreader

xmlrpc

xmlwriter

Zend OPcache

zip

zlib

Tidak ada

Tidak ada

Example

Contoh kode berikut menggunakan json untuk mengurai string JSON dan mengembalikan konten yang telah diuraikan ke stdout.

<?php
function handler($event, $context) {
    var_dump(json_decode('{"a":123, "b":true, "c":"abcd", "d":{"a":123}}', true));
    return "bye";
}         

Instal ekstensi PHP non-bawaan

Untuk menginstal ekstensi non-bawaan untuk waktu proses PHP, ikuti langkah-langkah berikut. Bagian ini menggunakan MongoDB sebagai contoh.

Prerequisites

  • Docker sudah terinstal. Untuk informasi lebih lanjut, lihat bagian "Instal Docker" dari topik Instal Serverless Devs dan Docker.

  • Fungsi dengan waktu proses PHP sudah dibuat. Untuk informasi lebih lanjut, lihat bagian "Buat Fungsi" dari topik Kelola Fungsi.

Procedure

  1. Jalankan perintah berikut di direktori proyek untuk memulai gambar waktu proses PHP dan mount direktori saat ini ke direktori /code:

    sudo docker run -v $(pwd):/code -it --entrypoint=""  registry.cn-beijing.aliyuncs.com/aliyunfc/runtime-php7.2:latest  bash
    Catatan

    Jika komputer Anda menjalankan Windows, Anda dapat mengganti $(pwd) dengan direktori absolut tertentu.

  2. Instal ekstensi MongoDB dan salin tempel file mongodb.so ke direktori /code.

    1. Jalankan perintah berikut untuk menginstal ekstensi MongoDB di dalam container:

      pecl install mongodb
    2. Jalankan perintah berikut untuk menemukan ekstensi .zip:

      find /usr -name "mongodb.so"
    3. Jalankan perintah berikut untuk menyalin file ekstensi ke direktori /code (yaitu, salin dan tempel file ke direktori di komputer Anda):

      cp /usr/local/lib/php/extensions/no-debug-non-zts-20170718/mongodb.so /code
    4. Jalankan perintah berikut untuk keluar dari container:

      exit
    5. Jalankan perintah berikut untuk memeriksa apakah file mongodb.so ada. Jika file tersebut ada, file .so disimpan di komputer Anda.

      ls

      Output yang diharapkan:

      mongodb.so
  3. Masuk ke Konsol Function Compute. Di panel navigasi kiri, klik Services & Functions.

  4. Di bilah navigasi atas, pilih wilayah. Pada halaman Services, klik layanan yang diinginkan.

  5. Pada halaman layanan yang ingin dikelola, klik fungsi yang diinginkan. Pada tab Code, buat folder bernama extension, dan folder tersebut berada di direktori yang sama dengan file handler fungsi.

  6. Tambahkan file mongodb.so ke folder extension dan buat file mongodb.ini di folder extension.

  7. Edit file mongodb.ini.

    Tambahkan konten berikut ke file mongodb.ini dan simpan file tersebut:

    extension=/code/extension/mongodb.so

Jika Anda ingin menginstal ekstensi kustom lainnya, klik tautan berikut untuk mengunduh file yang sesuai berdasarkan kebutuhan bisnis Anda:

Referensi