PHP运行时
函数计算目前支持的PHP运行环境如下:
PHP版本
操作系统
架构
PHP 7.2
Linux
x86_64
代码效果参考:http://www.92demo.com/sitemap/post.html
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的函数。具体操作步骤,请参见创建事件函数。
操作步骤
在项目目录中执行以下命令,启动进入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
如果需要安装其他自定义扩展,请按需单击下方链接,直接下载文件。
pdo_sqlite.zip
pgsql-demo.zip
sqlsrv.zip
swoole.so