本文介绍在函数计算中使用PHP语言编写函数的运行环境信息。

PHP运行时

函数计算目前支持的PHP运行环境如下:

PHP版本 操作系统 架构
PHP 7.2 Linux x86_64

PHP内置库

函数计算的PHP运行环境中自带了一些常用库(Package)供您直接使用,目前包含的内置库如下所示。

Package 版本 内置库介绍
oss v2.4.3 对象存储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 函数计算FC 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

内置扩展应用示例

以下示例代码使用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 Runtime非内置扩展时,请根据以下步骤安装。本文以安装非内置扩展Mongodb为例进行介绍。

前提条件

  • 您已安装Docker。具体操作步骤,请参见安装Docker
  • 您已创建运行环境为PHP的函数。具体操作步骤,请参见创建函数

操作步骤

  1. 在项目目录中执行以下命令,启动进入PHP Runtime镜像,并可以将当前目录挂载到容器的/code目录:
    docker run -v $(pwd):/code -it --entrypoint=""  registry.cn-beijing.aliyuncs.com/aliyunfc/runtime-php7.2:latest  bash
    说明 如果您的电脑是Windows操作系统,可以将$(pwd)修改为具体的绝对目录。
  2. 安装MongoDB扩展,并将mongodb.so复制到/code目录。
    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. 执行以下命令,确认是否存在zip.so文件,若存在则证明SO文件已经存在本地:
      ls
      预期输出:
      mongodb.so
  3. 登录函数计算控制台
  4. 在左侧导航栏,单击服务及函数
  5. 在顶部菜单栏,选择地域。
  6. 服务列表页面,单击目标服务。
  7. 在目标服务页面,单击目标函数,在函数代码页签中的函数入口文件同级目录下创建extension文件夹。
    说明 您创建的extension文件需和bootstrap在同一级别。
  8. mongodb.so文件添加至extension文件夹内,并在extension文件夹内创建mongodb.ini文件。
  9. 编写mongodb.ini文件。
    将以下内容填写至mongodb.ini文件中,并保存。
    extension=/code/extension/mongodb.so
如果需要安装其他自定义扩展,请按需下载:

相关文档