本文介绍在函数计算中使用PHP语言编写函数的运行环境信息。
PHP运行时
函数计算目前支持的PHP运行环境如下:
| PHP版本 | 操作系统 | 架构 | 
| PHP 7.2 | Linux | x86_64 | 
PHP内置库
函数计算的PHP运行环境中自带了一些常用库(Package)供您直接使用,目前包含的内置库如下所示。
| Package | 版本 | 内置库介绍 | 
| oss | v2.4.3 | |
| tablestore | v4.1.1 | |
| mns | v1.3.5.5 | |
| fc | v1.2.1 | 
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为例进行介绍。
前提条件
操作步骤
- 在项目目录中执行以下命令,启动进入PHP Runtime镜像,并可以将当前目录挂载到容器的/code目录。 - sudo docker run -v $(pwd):/code -it --entrypoint="" registry.cn-beijing.aliyuncs.com/aliyunfc/runtime-php7.2:latest bash说明- 如果您的电脑是Windows操作系统,可以将 - $(pwd)修改为具体的绝对目录。
- 安装MongoDB扩展,并将mongodb.so复制到/code目录。 - 执行以下命令,在容器内安装MongoDB扩展。 - pecl install mongodb
- 执行以下命令,找到ZIP扩展。 - find /usr -name "mongodb.so"
- 执行以下命令,复制扩展文件到/code目录即拷贝到本地机器的目录。 - cp /usr/local/lib/php/extensions/no-debug-non-zts-20170718/mongodb.so /code
- 执行以下命令,退出容器。 - exit
- 执行以下命令,确认是否存在mongodb.so文件,若存在则证明SO文件已经存在本地。 - ls- 预期输出如下。 - mongodb.so
 
- 登录函数计算控制台,在左侧导航栏,单击服务及函数。
- 在顶部菜单栏,选择地域,然后在服务列表页面,单击目标服务。
- 在目标服务页面,单击目标函数,在函数代码页签中的函数入口文件同级目录下创建extension文件夹。 
- 将mongodb.so文件添加至extension文件夹内,并在extension文件夹内创建mongodb.ini文件。 
- 编写mongodb.ini文件。 - 将以下内容填写至mongodb.ini文件中,并保存。 - extension=/code/extension/mongodb.so
如果需要安装其他自定义扩展,请按需单击下方链接,直接下载文件。