我只是AWS的初学者。我需要了解lambda支持。我正在研究PHP lambda支持PHP吗?如果没有,还有其它支持PHP的替代解决方案吗?
答案 0 :(得分:3)
本地AWS AWS Lambda自2017年5月22日起仅支持以下语言
但是如果你愿意,你可以稍微调整一下,按照概述here
使用PHP答案 1 :(得分:2)
从最新更新开始!!,AWS Almbda现在支持PHP。
来源:https://aws.amazon.com/blogs/compute/scripting-languages-for-aws-lambda-running-php-ruby-and-go/
答案 2 :(得分:1)
是的,AWS Lambda确实支持PHP,只需稍加调整即可。这里有几个链接可以帮助您入门。
https://aws.amazon.com/blogs/compute/scripting-languages-for-aws-lambda-running-php-ruby-and-go/
http://docs.aws.amazon.com/aws-sdk-php/v2/guide/service-lambda.html
答案 3 :(得分:0)
使用AWS Lambda时,您可能还希望使用serverless软件包,因为它可以使持续部署和代码管理更加轻松。 您可以根据运行amazon-linux vm并从那里获取所有php二进制文件来检查serverless-php-lambda的实现。这允许使用诸如redis等的库来更轻松地配置php,无需编译。
答案 4 :(得分:0)
实际上没有,但是自2018年11月以来,AWS宣布了Lambda层,这基本上是您运行自己的运行时(例如PHP)的方式。您有两种简单的方法可以通过PHP运行lambda
1-创建自己的通过PHP层传递的cloudformation堆栈,例如arn:aws:lambda:us-east-1:887080169480:layer:php73:2
类似的东西 template.yml
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: ''
Resources:
MyFunction:
Type: AWS::Serverless::Function
Properties:
FunctionName: 'php-layer'
Description: ''
CodeUri: .
Handler: index.php
Timeout: 10 # Timeout in seconds
MemorySize: 1024 # The memory size is related to the pricing and CPU power
Runtime: provided
Layers:
- 'arn:aws:lambda:us-east-1:887080169480:layer:php73:2'
并创建一个PHP文件 index.php
<?php
echo "Hello from PHP Experience 2019";
?>
创建一个AWS s3存储桶(例如mybuckettest)
打包的云信息堆栈
sam package \
--template-file template.yml \
--output-template-file serverless-output.yaml \
--s3-bucket phpex
部署您的堆栈
sam deploy \
--template-file serverless-output.yaml \
--stack-name php-layer \
--capabilities CAPABILITY_IAM
完成
2-使用bref.sh一个非常简单的aws lambda PHP框架