Я застрял довольно давно, и я просмотрел подобные посты здесь и то, что мне удалось Google.
Моя цель — запустить функцию 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
Так как я думал, что проблема заключалась в том, что («Ошибка: порождает EACCES») разрешения на двоичные файлы после того, как я заархивировал его на моем компьютере с Windows 10, отсутствовало, поэтому я попытался добавить zip к своему git-bash и zip с ним
zip -r lambda.zip php-7-bin php.js helloLambda.php
но это тоже не сработало.
И теперь у меня нет идей, я думаю, может кто-то еще знает, что не так.
Я заставил это работать. Создал как php.js, так и helloLambda.php для экземпляра ec2 (с nano), такого как двоичный файл PHP и zip’ed em в этой среде. После этого я скачал .zip на свой Windows-компьютер и загрузил его в лямбда-функцию.
Жаль, что они не упоминают (в учебнике по Amazon), что создание файлов в Windows не дает им необходимых разрешений.
Других решений пока нет …