gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 21:47:58 25 4
gpt4 key购买 nike

我使用 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 文件中有一些语法错误

试试这个:

应用程序.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]

索引.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>";
}
?>

关于php - App Engine (PHP) 与 Cloud SQL 的连接失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48559833/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com