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

PHP运行时

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

PHP版本操作系统架构
PHP 7.2Linuxx86_64

PHP内置库

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

Package版本内置库介绍
ossv2.4.3对象存储OSS SDK for PHP
tablestorev4.1.1表格存储TableStore SDK for PHP
mnsv1.3.5.5消息服务MNS SDK for PHP
fcv1.2.1函数计算FC SDK for PHP

PHP内置扩展

内置扩展列表

说明 如果您需要查看并打印已安装的PHP扩展,请在目标函数的代码内写入print_r(get_loaded_extensions());
bcmathbz2calendarCore
ctypecurldatedom
exiffileinfofilterftp
gdgettextgmphash
iconvimagickjsonlibxml
mbstring memcached mysqli mysqlnd
openSSLpcntlpcrePDO
pdo_mysqlPharposixprotobuf
readlineredisReflectionsession
shmopSimpleXMLsoapsockets
SPLstandardsysvmsgsysvsem
sysvshmtokenizerXdebugxml
xmlreaderxmlrpcxmlwriterZend OPcache
zipzlib

内置扩展应用示例

以下示例代码使用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目录。
    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复制到/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. 执行以下命令,确认是否存在mongodb.so文件,若存在则证明SO文件已经存在本地。
      ls
      预期输出如下。
      mongodb.so
  3. 登录函数计算控制台,在左侧导航栏,单击服务及函数
  4. 在顶部菜单栏,选择地域,然后在服务列表页面,单击目标服务。
  5. 在目标服务页面,单击目标函数,在函数代码页签中的函数入口文件同级目录下创建extension文件夹。
    说明 您创建的extension文件夹需和bootstrap在同一级别。
  6. mongodb.so文件添加至extension文件夹内,并在extension文件夹内创建mongodb.ini文件。
  7. 编写mongodb.ini文件。
    将以下内容填写至mongodb.ini文件中,并保存。
    extension=/code/extension/mongodb.so
如果需要安装其他自定义扩展,请按需单击下方链接,直接下载文件。

相关文档