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

Function Compute:PHP

最終更新日:Feb 05, 2025

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

PHPランタイム

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

バージョン

オペレーティングシステム

アーキテクチャ

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 Simple Message Queue (旧MNS) SDK for PHP

fc

v1.2.1

Alibaba Cloud Function Compute SDK for PHP

組み込みのPHP拡張機能

組み込み拡張機能

説明

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

bcmath

bz2

カレンダー

Core

ctype

curl

date

dom

exif

fileinfo

filter

ftp

gd

gettext

gmp

hash

iconv

イマジック

JSON

libxml

mbstring

memcached

mysqli

mysqlnd

openSSL

pcntl

pcre

PDO

pdo_mysql

Phar

posix

protobuf

readline

redis

反射

セッション

shmop

SimpleXML

石鹸

ソケット

SPL

standard

sysvmsg

sysvssem

sysvshm

tokenizer

Xdebug

xml

xmlreader

xmlrpc

xmlwriter

Zend OPcache

zip

zlib

なし

なし

組み込みの拡張の例

次のサンプルコードでは、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がインストールされています。

前提条件

  • Dockerがインストールされています。 プロシージャの詳細については、「手順2: Serverless Devsの設定」をご参照ください。

  • PHPランタイムで実行される関数が作成されます。 手順の詳細については、「イベント関数の作成」をご参照ください。

手順

  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ファイルをエクステンションフォルダーに追加し、エクステンションフォルダーでmongodb.iniファイルを作成します。

  7. mongodb.iniファイルを編集します。

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

    extension=/code/extension/mongodb.so

他のカスタム拡張機能をインストールする場合は、以下のリンクをクリックして、必要に応じて対応するファイルをダウンロードします。

追加情報