php - 无法在谷歌云上使用 PHP 连接到 mysql。没有错误弹出

标签 php mysql google-app-engine google-cloud-platform

这是我的 main.php 代码,用于尝试连接到 MySQL 数据库并检查它是否可以连接到它。

<?php
$USER = "root";
$PASS = "";// I do have a password. I just haven't mentioned on StackOverflow
$IP  = "104.199.248.141";
$DB   = "Contacts";

$conn = mysqli_connect($IP,$USER,$PASS,$DB,null,"/cloudsql/adiscontactbook:asia-east1:contacts-book");
if($conn != null) {
    print("Connected! :*");
    mysqli_close($conn);
} else {
    print("Can't connect! :(");
}
?>

这是app.yaml:

runtime: php55
api_version: 1
threadsafe: yes

handlers:
- url: /favicon\.ico
  static_files: favicon.ico
  upload: favicon\.ico

- url: .*
  script: main.php

可以通过终端输入以下命令连接到我的mysql实例:

mysql --host=104.199.248.141 --user=root --password  

并且终端上的输出是 Connected! :*

这是我的应用程序网址:https://adiscontactbook.appspot.com/

当我在浏览器中键入 URL 时,它输出 无法连接! :(

PS:我已在Authorize networks 部分授予我的应用程序和本地计算机访问 mysql 实例的权限,方法是输入 IP 地址 35.185.186.77(我的应用程序的外部 IP)和 14.97.103.225 分别。

为什么我通过终端访问它没有问题,但不能通过输入 URL 通过浏览器连接?

最佳答案

当您通过套接字连接时,您应该将 null 传递给 $host 参数。

$conn = mysqli(null, $USER, $PASS, $DB,null, "/cloudsql/adiscontactbook:asia-east1:contacts-book")

关于php - 无法在谷歌云上使用 PHP 连接到 mysql。没有错误弹出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43422746/

相关文章:

MySQL 查询 - 检索具有最新时间戳值的所有设备信息

google-app-engine - 在 Google App Engine 上按 IP 地址拆分流量

php - 在一个查询中检查两个表

php - 如果单元格为空,则不会从数据库中获取电子邮件

mysql - 复杂的表合并

google-app-engine - 推送部署、管道、谷歌应用引擎

python - 如何检查 NDB 模型是否有效

php - 无法使用 WAMP 将数据从 android Activity 插入 MySQL 到 php 数据库

php - 不正确的字符串编码

php - Android 中的错误 "Only the original thread that created a view hierarchy can touch its views"