本文介紹在Function Compute中使用PHP語言編寫函數的運行環境資訊。
PHP運行時
Function Compute目前支援的PHP運行環境如下:
PHP版本 | 作業系統 | 架構 |
PHP 7.2 | Linux | x86_64 |
PHP內建庫
Function Compute的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為例進行介紹。
前提條件
您已安裝Docker。具體操作步驟,請參見步驟二:配置Serverless Devs。
您已建立運行環境為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
登入Function Compute控制台,在左側導覽列,單擊函數。
在頂部功能表列,選擇地區,然後在函數頁面,單擊目標函數。
在函數詳情頁面,選擇代碼頁簽,然後在函數入口檔案同級目錄下建立extension檔案夾。
說明您建立的extension檔案夾需和bootstrap在同一層級。
將mongodb.so檔案添加至extension檔案夾內,並在extension檔案夾內建立mongodb.ini檔案。
編寫mongodb.ini檔案。
將以下內容填寫至mongodb.ini檔案中,並儲存。
extension=/code/extension/mongodb.so
如果需要安裝其他自訂擴充,請按需單擊下方連結,直接下載檔案。
相關文檔
如果您需要在內建擴充的基礎上自訂擴充,請參見PHP運行環境如何增加或刪除內建擴充?
如果您使用自訂運行時,關於安裝Mongodb擴充的方法,請參見Custom Runtime如何安裝自訂擴充。