すべてのプロダクト
Search
ドキュメントセンター

Function Compute:概要

最終更新日:Oct 17, 2024

このトピックでは、Function Computeで関数コードを記述できるPHPランタイムについて説明します。

PHPランタイム

次の表に、Function ComputeでサポートされているPHPランタイムを示します。

PHPバージョン

OS

アーキテクチャ

PHP 7.2

Linux

x86_64

組み込みのPHPパッケージ

Function Computeは、PHPランタイム用に次の組み込みパッケージを提供します。

パッケージ

バージョン

参照

oss

v2.4.3

Alibaba Cloud OSS SDK for PHP

tablestore

v4.1.1

Alibaba Cloud TableStore SDK for PHP

mns

v1.3.5.5

Alibaba Cloud MNS SDK for PHP

fc

v1.2.1

Alibaba Cloud Function Compute SDK for PHP

組み込みのPHP拡張機能

組み込み拡張機能

説明

インストールされているPHP拡張機能に関する情報を表示および印刷する場合は、関数のコードにprint_r(get_loaded_extensions()); を含めます。

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

None

None

組み込みの拡張の例

次のサンプルコードでは、jsonを使用してJSON文字列を解析し、解析されたコンテンツをstdoutに返します。

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

組み込み以外のPHP拡張機能をインストールする

PHPランタイム用の組み込み以外の拡張機能をインストールするには、次の手順を実行します。 次の例では、MongoDBがインストールされています。

前提条件

手順

  1. プロジェクトディレクトリで次のコマンドを実行して、PHPランタイムのイメージを開始し、現在のディレクトリをコンテナの /codeディレクトリにマウントします。

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

    コンピュータがWindowsオペレーティングシステムを実行している場合は、$(pwd) を特定の絶対ディレクトリに変更できます。

  2. MongoDB拡張機能をインストールしてコピーするmongodb.so/コードディレクトリに移動します。

    1. 次のコマンドを実行して、MongoDB拡張をコンテナにインストールします。

      pecl install mongodb
    2. 次のコマンドを実行して、ZIP拡張子を見つけます。

      find /usr -name "mongodb.so"
    3. 次のコマンドを実行して、拡張ファイルを /codeディレクトリにコピーします。

      cp /usr/local/lib/php/extensions/no-debug-non-zts-20170718/mongodb.so /code
    4. 次のコマンドを実行してコンテナーを終了します。

      exit
    5. 次のコマンドを実行して、mongodb.soファイルが存在するかどうかを確認します。 ファイルが存在する場合は、ファイルはコンピュータに保存されます。

      ls

      期待される出力:

      mongodb.so
  3. Function Computeコンソールにログインします。 左側のナビゲーションウィンドウで、[関数] をクリックします。

  4. 上部のナビゲーションバーで、リージョンを選択します。 [関数] ページで、管理する関数をクリックします。

  5. 関数の詳細ページで、[コード] タブをクリックします。 次に、ハンドラファイルが格納されているディレクトリに拡張子フォルダを作成します。

    説明

    作成する拡張フォルダーは、ブートストラップと同じレベルである必要があります。

  6. mongodb.soファイルをextensionフォルダーに追加し、extensionフォルダーにmongodb.iniファイルを作成します。

  7. mongodb.iniファイルに下記のコンテンツを追加して保存します。

    次の内容をmongodb.iniファイルに追加し、ファイルを保存します。

    extension=/code/extension/mongodb.so

他のカスタム拡張機能をインストールする場合は、次のリンクをクリックして、ビジネス要件に基づいて対応するファイルをダウンロードします。

追加情報