本文介绍在函数计算中使用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文件夹。
说明您创建的extension文件夹需和bootstrap在同一级别。
将mongodb.so文件添加至extension文件夹内,并在extension文件夹内创建mongodb.ini文件。
编写mongodb.ini文件。
将以下内容填写至mongodb.ini文件中,并保存。
extension=/code/extension/mongodb.so
如果需要安装其他自定义扩展,请按需单击下方链接,直接下载文件。
相关文档
如果您需要在内置扩展的基础上自定义扩展,请参见PHP运行环境如何增加或删除内置扩展?
如果您使用自定义运行时,关于安装Mongodb扩展的方法,请参见Custom Runtime如何安装自定义扩展。