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

Function Compute:概要

最終更新日:Oct 17, 2024

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

PHPランタイム

Function Computeは、次のPHPランタイムをサポートしています。

バージョン

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

アーキテクチャ

PHP 7.2

Linux

x86_64

組み込みのPHPパッケージ

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

パッケージ

バージョン

説明

oss

v2.4.3

Object Storage Service (OSS) SDK for PHP

tablestore

v4.1.1

TableStore SDK for PHP

mns

v1.3.5.5

メッセージサービス (MNS) SDK for PHP

fc

v1.2.1

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がインストールされています。 詳細については、「Serverless DevsとDockerのインストール」トピックの「Dockerのインストール」セクションをご参照ください。

  • 実行時が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. 管理するサービスのページで、目的の機能をクリックします。 [コード] タブで、extensionという名前のフォルダーを作成します。このフォルダーは、関数のハンドラーファイルと同じディレクトリにあります。

  6. を追加します。mongodb.soファイルをエクステンションフォルダーを作成し、mongodb.iniファイル内のエクステンションフォルダーを作成します。

  7. を編集します。Edit themongodb.iniファイルを作成します。

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

    extension=/code/extension/mongodb.so

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

関連ドキュメント