AWS Lambda php生成EACCESS

时间:2018-11-14 10:41:02

标签: php amazon-web-services aws-lambda spawn

我已经被困了很长时间了,我在这里浏览了类似的帖子以及我已经设法在Google上找到的内容。

我的目标是在lambda上运行一个PHP函数,没什么花哨的,我只是按照这里https://aws.amazon.com/blogs/compute/scripting-languages-for-aws-lambda-running-php-ruby-and-go/

中列出的所有步骤进行操作

运行测试时收到的错误消息是:

{
    "errorMessage": "RequestId: 832ee5e0-e7f6-11e8-bde8-b7d0d5da71bc Process exited before completing request"
}

日志为:

START RequestId: 832ee5e0-e7f6-11e8-bde8-b7d0d5da71bc Version: $LATEST
2018-11-14T10:17:39.019Z 832ee5e0-e7f6-11e8-bde8-b7d0d5da71bc Error: spawn EACCES

    at _errnoException (util.js:1022:11)
    at ChildProcess.spawn (internal/child_process.js:323:11)
    at exports.spawn (child_process.js:502:9)
    at exports.handler (/var/task/php.js:8:15)
END RequestId: 832ee5e0-e7f6-11e8-bde8-b7d0d5da71bc
REPORT RequestId: 832ee5e0-e7f6-11e8-bde8-b7d0d5da71bc  Duration: 56.44 ms  Billed Duration: 100 ms Memory Size: 128 MB Max Memory Used: 20 MB  RequestId: 832ee5e0-e7f6-11e8-bde8-b7d0d5da71bc Process exited before completing request

所以我以为问题是我在Windows 10机器上将其压缩后,二进制文件上的('Error:spawn EACCES')权限丢失了,所以我尝试将zip添加到git-bash并使用zip压缩 zip -r lambda.zip php-7-bin php.js helloLambda.php 但它也不起作用。

现在我没主意了,想也许别人可能知道这是怎么回事。

1 个答案:

答案 0 :(得分:0)

我成功了。在ec2实例(使用nano)上创建了php.js和helloLambda.php,例如在该环境中的PHP二进制文件和zip'ed em。之后,我将.zip下载到Windows机器上,并将其上传到lambda函数。

很遗憾,他们没有提到(在Amazon教程中)在Windows上创建文件并没有赋予他们所需的权限。