Я пытаюсь заставить функцию AWS Lambda запускать код PHP и MySQLI.
Для этого я следовал [этому учебнику] [1] и сумел заставить PHP работать, но когда я пытаюсь добавить свой код MySQL, я получаю ошибку. Ошибка не говорит о многом, это выглядит так:
«errorMessage»: «2019-05-20T06: 38: 00.554Z ad00cf78-bc88-4199-9579-08a455c2e3d9 Время ожидания задачи истекло через 30,02 секунды"
И журнал идет как
Request ID:
"ad00cf78-bc88-4199-9579-08a455c2e3d9"
Журналы функций:
START RequestId: ad00cf78-bc88-4199-9579-08a455c2e3d9 Version: $LATEST
Notice: Undefined index: path in /opt/bootstrap on line 124
Notice: Undefined index: httpMethod in /opt/bootstrap on line 162
END RequestId: ad00cf78-bc88-4199-9579-08a455c2e3d9
REPORT RequestId: ad00cf78-bc88-4199-9579-08a455c2e3d9 Init Duration: 99.51 ms Duration: 30015.44 ms Billed Duration: 30200 ms Memory Size: 128 MB Max Memory Used: 31 MB
2019-05-20T06:38:00.554Z ad00cf78-bc88-4199-9579-08a455c2e3d9 Task timed out after 30.02 seconds
Я пытался реализовать основные шаги mysqli
Мой код PHP выглядит следующим образом:
$servername = "xx";
$username = "xx";
$password = "xx";
$dbname = "xx";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
//die("Connection failed: " . $conn->connect_error);
}
Как вы можете видеть, я только что добавил простое соединение MySQLi к коду в учебнике. Когда я удаляю эту часть, код работает нормально.
В этот момент я начинаю задумываться, возможно ли это вообще вообще. Любые советы в правильном направлении будут оценены.
{
"body": "eyJ0ZXN0IjoiYm9keSJ9",
"resource": "/{proxy+}",
"path": "/path/to/resource",
"httpMethod": "POST",
"isBase64Encoded": true,
"queryStringParameters": {
"foo": "bar"
},
"pathParameters": {
"proxy": "/path/to/resource"
},
"stageVariables": {
"baz": "qux"
},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
"Accept-Encoding": "gzip, deflate, sdch",
"Accept-Language": "en-US,en;q=0.8",
"Cache-Control": "max-age=0",
"CloudFront-Forwarded-Proto": "https",
"CloudFront-Is-Desktop-Viewer": "true",
"CloudFront-Is-Mobile-Viewer": "false",
"CloudFront-Is-SmartTV-Viewer": "false",
"CloudFront-Is-Tablet-Viewer": "false",
"CloudFront-Viewer-Country": "US",
"Host": "1234567890.execute-api.ap-northeast-1.amazonaws.com",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "Custom User Agent String",
"Via": "1.1 08f323deadbeefa7af34d5feb414ce27.cloudfront.net (CloudFront)",
"X-Amz-Cf-Id": "cDehVQoZnx43VYQb9j2-nvCh-9z396Uhbp027Y2JvkCPNLmGJHqlaA==",
"X-Forwarded-For": "127.0.0.1, 127.0.0.2",
"X-Forwarded-Port": "443",
"X-Forwarded-Proto": "https"
},
"requestContext": {
"accountId": "123456789012",
"resourceId": "123456",
"stage": "prod",
"requestId": "c6af9ac6-7b61-11e6-9a41-93e8deadbeef",
"requestTime": "09/Apr/2015:12:34:56 +0000",
"requestTimeEpoch": 1428582896000,
"identity": {
"cognitoIdentityPoolId": null,
"accountId": null,
"cognitoIdentityId": null,
"caller": null,
"accessKey": null,
"sourceIp": "127.0.0.1",
"cognitoAuthenticationType": null,
"cognitoAuthenticationProvider": null,
"userArn": null,
"userAgent": "Custom User Agent String",
"user": null
},
"path": "/prod/path/to/resource",
"resourcePath": "/{proxy+}",
"httpMethod": "POST",
"apiId": "1234567890",
"protocol": "HTTP/1.1"
}
}