Conheça os runtimes PHP, os pacotes integrados e as extensões compatíveis com o Function Compute.
Runtimes PHP
O Function Compute oferece suporte aos seguintes runtimes PHP.
|
Versão |
Sistema operacional |
Arquitetura |
|
PHP 7.2 |
Linux |
x86_64 |
Pacotes PHP integrados
O runtime PHP inclui os seguintes pacotes integrados.
|
Pacote |
Versão |
Referência |
|
oss |
v2.4.3 |
|
|
tablestore |
v4.1.1 |
|
|
mns |
v1.3.5.5 |
SDK do Alibaba Cloud Simple Message Queue (anteriormente MNS) para PHP |
|
fc |
v1.2.1 |
Extensões PHP integradas
Built-in extensions
Para listar as extensões instaladas, adicione print_r(get_loaded_extensions()); ao código da função.
|
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 |
None |
None |
Built-in extension example
Este exemplo usa json para analisar uma string JSON e imprimir o resultado:
<?php
function handler($event, $context) {
var_dump(json_decode('{"a":123, "b":true, "c":"abcd", "d":{"a":123}}', true));
return "bye";
}
Instale extensões PHP não integradas
Os passos a seguir mostram como instalar uma extensão PHP não integrada, usando o MongoDB como exemplo.
Prerequisites
Docker instalado. Para mais informações sobre o procedimento, consulte Etapa 2: Configure seu par de AccessKey.
Função criada em um runtime PHP. Para mais detalhes sobre o procedimento, consulte Crie uma função acionada por evento.
Procedure
-
Execute o comando abaixo no diretório do projeto para iniciar o contêiner do runtime PHP e montar o diretório atual em /code:
sudo docker run -v $(pwd):/code -it --entrypoint="" registry.cn-beijing.aliyuncs.com/aliyunfc/runtime-php7.2:latest bashNotaNo Windows, substitua
$(pwd)pelo caminho absoluto do diretório. -
Instale a extensão MongoDB e copie mongodb.so para o diretório /code.
-
Instale a extensão MongoDB:
pecl install mongodb -
Localize o arquivo da extensão MongoDB:
find /usr -name "mongodb.so" -
Copie o arquivo da extensão para /code:
cp /usr/local/lib/php/extensions/no-debug-non-zts-20170718/mongodb.so /code -
Saia do contêiner:
exit -
Verifique se mongodb.so existe no diretório local.
lsSaída esperada:
mongodb.so
-
Faça login no console do Function Compute. No painel de navegação à esquerda, escolha .
Na barra de navegação superior, selecione uma região. Na página Functions, clique em na função desejada.
-
Na página de detalhes da função, clique em na aba Code e crie uma pasta extension no diretório do arquivo handler.
NotaA pasta extension deve estar no mesmo nível de bootstrap.
Adicione mongodb.so à pasta extension e crie mongodb.ini dentro da pasta extension.
-
Edite o arquivo mongodb.ini.
Adicione a seguinte linha ao arquivo mongodb.ini:
extension=/code/extension/mongodb.so
Baixe arquivos para outras extensões personalizadas:
Informações adicionais
Para saber mais sobre como criar uma extensão personalizada com base em uma extensão integrada, consulte Adicionar ou remover extensões PHP integradas.
Para instalar a extensão MongoDB em um runtime personalizado, consulte Como instalar uma extensão personalizada em um runtime personalizado.