这是我的 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/