【问题标题】:Can't connect MySQL after deploying app on AppEngine在 AppEngine 上部署应用程序后无法连接 MySQL
【发布时间】:2015-05-15 03:30:48
【问题描述】:

谁能帮我解决这个问题,我写了一个简单的代码来测试 MySQL 连接,它在本地工作,但在应用引擎上部署后无法连接 MySQL。

文件 app.yaml:

application: testmysql07

version: 1

runtime: php55

api_version: 1

threadsafe: yes

handlers:

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

- url: .*
  script: main.php

文件main.php:

<?php

$hostname     = "localhost"; 

$username     = "root";

$password     = "";

$databasename = "web_bb"; 

$conn = mysql_connect($hostname,$username,$password,$databasename) or die("Can't connect MySQL");

    echo "Successful </br>";

mysql_select_db($databasename,$conn);

?>

对不起,我英语不好

【问题讨论】:

  • 检查this link
  • 检查云数据库的用户名和密码,并在您的 main.php 中使用它们
  • 我查过了,我必须使用google cloud sql,对吗?如何检查云的用户名和密码,否则我必须创建它?
  • 有人帮帮我,我想我需要注册 Google Cloud SQL 才能连接 mysql ,对吗?我是学生,没有信用卡可以注册:(
  • 您也可以连接到您拥有的其他 MySQL 服务器,只要它们可以从 App Engine 访问。但是您仍然需要启用结算功能(每日预算设置为 0 美元)才能使用套接字。

标签: php mysql google-app-engine


【解决方案1】:

要在开发过程中连接到本地 MySQL 数据库,您需要

  1. 为您的应用启用计费。这允许您使用sockets 连接到远程服务器。
  2. 确保您的本地 MySQL 数据库为 reachable from the internet,即在您的路由器中具有正确的防火墙/NAT 设置。
  3. 在您的代码中使用您的公共 IP 地址作为 $hostname

【讨论】:

  • 如果我想启用计费,我必须注册 Cloud SQL。我可以不用信用卡注册cloud sql吗?我是学生,请帮助我
  • 启用计费和注册 CloudSQL 是两件事,但正如您所指出的,两者都需要信用卡。
  • 我明白了,谢谢火星。它是连接本地 MySQL 的唯一方法,不是吗?
  • 是的,因为你需要套接字。
猜你喜欢
  • 1970-01-01
  • 2020-12-12
  • 1970-01-01
  • 2015-04-29
  • 2013-09-28
  • 1970-01-01
  • 2015-02-16
  • 1970-01-01
  • 2019-12-16
相关资源
最近更新 更多