繁体   English   中英

App Engine(PHP)与Cloud SQL的连接失败

[英]App Engine (PHP) connection to Cloud SQL failed

我使用Google的“ hello world”应用引擎示例环境创建了自己的php应用。 然后我将现有的app.yaml文件配置为此:

runtime: php55
api_version: 1

handlers:
- url: /
  script: index.php

env_variables:
    MYSQL_DSN: mysql:dbname=sampledb;unix_socket=/cloudsql/sampleproject:europe-west3:sampleinstance
    MYSQL_USER: root
    MYSQL_PASSWORD: admin

我的index.php是一个典型的登录页面。 我想从我的云SQL加载用户数据以检查是否允许用户进入下一页。 下一页是包含公司数据的仪表板。 我也想从我的云SQL数据库加载此数据。

那是我读取数据的php代码(我从Google书架教程中复制了它,因为我完全不熟悉这些东西。)

  <?php
    $dsn = getenv('MYSQL_DSN');
    $user = getenv('MYSQL_USER');
    $password = getenv('MYSQL_PASSWORD');
    if (!isset($dsn; $user) || false=== $password) {
      throw new Exception('Set MYSQL_DSN');
      }
    $db = new PDO($dsn, $user, $password);

    $statement = $db->prepare("SELECT clicks from display_inbox");
    $statement->execute();
    $all = $statement->fetchAll();

    foreach ($all as $data) {
      echo $data["clicks"], "<br>";
    }
  ?>

这不是特定的查询,我只想检查连接。 部署我的应用程序后,我得到以下结果:

HTTP-500错误:sampleproject.appspot.com当前无法处理此请求。

我只是不知道这是我的app.yaml还是我的php代码。 如果有人拥有app.yaml文件的示例代码和读取云sql数据的典型查询,那将非常有帮助。

您的app.yaml和index.php文件中存在一些语法错误

尝试这个:

app.yaml:

runtime: php55
api_version: 1
threadsafe: true

handlers:
- url: /.*
  script: index.php

# [START env]    
env_variables:
    MYSQL_DSN: mysql:unix_socket=/cloudsql/sampleproject:europe-west3:sampleinstance;dbname=sampledb
    MYSQL_USER: root
    MYSQL_PASSWORD: admin
# [END env]

index.php:

  <?php
    $dsn = getenv('MYSQL_DSN');
    $user = getenv('MYSQL_USER');
    $password = getenv('MYSQL_PASSWORD');
    if (!isset($dsn, $user) || false === $password) {
      throw new Exception('Set MYSQL_DSN');
      }
    $db = new PDO($dsn, $user, $password);

    $statement = $db->prepare("SELECT clicks from display_inbox");
    $statement->execute();
    $all = $statement->fetchAll();

    foreach ($all as $data) {
      echo $data["clicks"]."<br>";
    }
  ?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM