Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将AWS Lambda配置为与PHP+;MySQL?_Php_Mysql_Amazon Web Services_Lambda_Aws Lambda - Fatal编程技术网

将AWS Lambda配置为与PHP+;MySQL?

将AWS Lambda配置为与PHP+;MySQL?,php,mysql,amazon-web-services,lambda,aws-lambda,Php,Mysql,Amazon Web Services,Lambda,Aws Lambda,我正在尝试运行AWSLambda函数PHPcode和MySQL 为此,我遵循并设法使PHP工作,但当我尝试添加MySQL代码时,我得到了一个错误。错误说明不了多少,它是这样的: "errorMessage": "RequestId: 14a46e73-xxx-xxx-b810-11db18dxxx0 Process exited before completing request" 原木是这样的 START RequestId: 14a46e73-xxx-xxx-b810-11db18dxxx

我正在尝试运行
AWS
Lambda
函数
PHP
code和
MySQL

为此,我遵循并设法使
PHP
工作,但当我尝试添加
MySQL
代码时,我得到了一个错误。错误说明不了多少,它是这样的:

"errorMessage": "RequestId: 14a46e73-xxx-xxx-b810-11db18dxxx0 Process exited before completing request"
原木是这样的

START RequestId: 14a46e73-xxx-xxx-b810-11db18dxxx0 Version: $LATEST
2017-02-27T19:08:12.544Z    14a46e73-xxx-xxx-b810-11db18dxxx0   SyntaxError: Unexpected token F
    at Object.parse (native)
    at ChildProcess.<anonymous> (/var/task/php.js:29:34)
    at emitTwo (events.js:87:13)
    at ChildProcess.emit (events.js:172:7)
    at maybeClose (internal/child_process.js:821:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
END RequestId: 14a46e73-xxx-xxx-b810-11db18dxxx0
REPORT RequestId: 14a46e73-xxx-xxx-b810-11db18dxxx0 Duration: 293.96 ms Billed Duration: 300 ms     Memory Size: 128 MB Max Memory Used: 12 MB  
RequestId: 14a46e73-xxx-xxx-b810-11db18dxxx0 Process exited before completing request
正如您所看到的,我刚刚在教程的代码中添加了一个简单的MySQL连接。当我删除该部分时,代码运行良好

在这一点上,我开始怀疑这是否有可能。 任何正确方向的提示都将不胜感激

php.js

process.env['PATH'] = process.env['PATH'] + ':' + process.env['LAMBDA_TASK_ROOT'];

const spawn = require('child_process').spawn;

exports.handler = function(event, context) {

    //var php = spawn('php',['helloLambda.php']); //local debug only
    var php = spawn('php-7-bin/bin/php',['hello.php']);
    var output = "";

    //send the input event json as string via STDIN to php process
    php.stdin.write(JSON.stringify(event));

    //close the php stream to unblock php process
    php.stdin.end();

    //dynamically collect php output
    php.stdout.on('data', function(data) {
          output+=data;
    });

    //react to potential errors
    php.stderr.on('data', function(data) {
            console.log("STDERR: "+data);
    });

    //finalize when php process is done.
    php.on('close', function(code) {
            context.succeed(JSON.parse(output));
    });
}

显示lambda处理程序(node.js)代码。这就是错误所在。谢谢@Michael sqlbot,我编辑了我的问题。我在示例中使用相同的代码。我假设代码是正确的,因为在我的测试中,我没有修改代码,我只是尝试连接到MySQL,而不做任何操作。我只是想确保它能起作用。我开始认为这与我编译PHP.Hmmm的方式有关。是的,不明显。您能否在
$json=json\u解码之前成功地
回显$data
(…
?如果是这样的话,它看起来像是有效的JSON吗?数小时之后,我设法让它工作起来。看起来,当使用标志编译PHP时——使用mysql时,我做得不对,但没有出现任何错误。我切换到——使用mysqli,它现在可以工作了。我收到了新的错误,但至少问题中的错误消失了。太糟糕了这里没有一种方法可以真正读取错误所说的内容。感谢您的帮助显示lambda处理程序(node.js)代码。这就是错误出现的地方。感谢@Michael sqlbot,我编辑了我的问题。我在示例中使用了相同的代码。我假设代码是正确的,因为在我的测试中,我没有修改代码,我只是尝试连接到MySQL,而不做任何操作。我只是想确保它工作正常。我开始认为它有什么需要改进的按照我编译PHP.Hmmm的方式做。是的,不明显。你能在
$json=json\u解码之前成功地
echo$data
(…
?如果是这样的话,它看起来像是有效的JSON吗?数小时之后,我设法让它工作起来。看起来,当使用标志编译PHP时——使用mysql时,我做得不对,但没有出现任何错误。我切换到——使用mysqli,它现在可以工作了。我收到了新的错误,但至少问题中的错误消失了。太糟糕了这里没有一种方法可以真正阅读错误所说的内容。谢谢你的帮助
process.env['PATH'] = process.env['PATH'] + ':' + process.env['LAMBDA_TASK_ROOT'];

const spawn = require('child_process').spawn;

exports.handler = function(event, context) {

    //var php = spawn('php',['helloLambda.php']); //local debug only
    var php = spawn('php-7-bin/bin/php',['hello.php']);
    var output = "";

    //send the input event json as string via STDIN to php process
    php.stdin.write(JSON.stringify(event));

    //close the php stream to unblock php process
    php.stdin.end();

    //dynamically collect php output
    php.stdout.on('data', function(data) {
          output+=data;
    });

    //react to potential errors
    php.stderr.on('data', function(data) {
            console.log("STDERR: "+data);
    });

    //finalize when php process is done.
    php.on('close', function(code) {
            context.succeed(JSON.parse(output));
    });
}