Как подключить MySQL в Lambda с помощью PHP? - PullRequest
0 голосов
/ 20 мая 2019

Я пытаюсь заставить функцию 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"
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...