【发布时间】:2020-06-01 14:14:12
【问题描述】:
更新:谢谢大家!我通过为我的 PHP Lambda 创建自定义运行时解决了这个问题。
我目前正在使用带有 php.handler 的 Node.js 8.10 Runtime,并且我的 Lambda 函数工作正常,但是当我将 Runtime 更改为 12.x 时,我收到以下错误:
“php-7-bin/bin/php:加载共享库时出错:libcrypt.so.1:无法打开共享对象文件:没有这样的文件或目录”
exports.handler = function(event, context, callback) {
var php = spawn('php-7-bin/bin/php',['--php-ini', 'user.ini', process.env['PHPFILE']], {maxBuffer: 200 * 1024 * 200});
var output = "";
var statusCode = 0;
php.stdin.write(JSON.stringify(event));
php.stdin.end();
php.stdout.on('data', function(data) {
console.log("CHUNK: " + data);
output+=data;
});
php.stderr.on('data', function(data) {
console.log(data);
});
php.on('close', function(code) {
var obj = JSON.parse(output);
statusCode = obj.status.statusCode;
if(statusCode !== 0){
callback(output);
}else{
context.succeed(obj);
}
});
}
我需要将我的 Lambda 更新到最新的 node.js 版本,但我不知道如何克服这个错误,所以非常感谢任何帮助!
【问题讨论】:
标签: php node.js amazon-web-services aws-lambda