我正在设置一个需要连接到云端数据库的应用程序(google cloud sql)。我有一个连接到数据库并返回我需要的所有数据的 php 文件。它在本地主机上运行良好,但我无法让它在云上运行。
这是我的 .php 文件:
<?php
$conn = mysqli_connect("[MY_GOOGLE_SQL_PUBLIC_IP]", "root", "123", "mysql");
if (!$conn) {
echo "Error: Unable to connect to MySQL." . PHP_EOL;
echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
exit;
}else{
echo "Success: A proper connection to MySQL was made! The my_db database is great." . PHP_EOL;
echo "Host information: " . mysqli_get_host_info($conn) . PHP_EOL;
}
mysqli_close($conn);
?>
这是我的 app.yaml:
runtime: php55
handlers:
- url: .*
script: cloud-test.php
beta_settings:
cloud_sql_instances: "cloudtest-2412**:southamerica-east1:store"
如果我在我的本地主机 (127.0.0.1:8888) 上运行 php 文件,我会发现与 google sql 上的数据库建立了连接。但是当我将(gcloud app deploy)部署到应用引擎并尝试访问google提供的url时,出现以下错误:
错误:无法连接到 MySQL。调试错误号:2002 调试错误:连接超时
*sql 数据库和应用引擎在同一个项目中,所以我不需要给予任何特殊权限(就像我在本地主机上访问时必须授予我本地 ip 的权限一样)
有任何想法吗??
犯罪嫌疑人X