【问题标题】:Connect MySQL (installed through MAMP) to Google App Engine SDK将 MySQL(通过 MAMP 安装)连接到 Google App Engine SDK
【发布时间】:2013-10-17 09:29:33
【问题描述】:

我无法建立从 App Engine SDK 服务器到随 MAMP 一起安装的本地 MySQL 的数据库连接。我知道这是关于 MAMP 中的 MySQL 套接字文件。如何让 App Engine SDK 监听本地 MySQL?我还想确保我的 MAMP 设置保持不变。谢谢。

【问题讨论】:

  • 我不清楚问题是什么。当您尝试连接时看到什么错误?
  • 我也遇到了同样的问题,你找到解决办法了吗?

标签: php mysql google-app-engine


【解决方案1】:

App engine SDK for php 可以连接到您开发环境中的本地 MySql 服务器。 首先确保您拥有最新的 SDK for PHP 版本,当前版本为 1.8.6。 确保您的本地 MySql 服务器实例正在运行并侦听端口 3306。 在 App Engine SDK 启动器中添加您的应用程序,单击它并选择编辑/应用程序设置,然后在“Extra Command Line Flags”字段中添加以下内容: --mysql_user=用户 其中 user 是连接到数据库的用户名。 然后你必须从你的 php 代码连接到你的数据库,在我的例子中,我使用的是 PDO。 像这样:

try {
    $db = new PDO('mysql:unix_socket=/cloudsql/<appname>:my-cloudsql-instance;charset=utf8;dbname=<yourdbname>','<user>','<password>');
    syslog(LOG_DEBUG, 'Connected to database.');
} catch (PDOException $e) {
    syslog(LOG_ERR, 'Failed to get PDO DB handle: ' . $e->getMessage());
    print_r($e->getMessage());
    exit;
}

用您的应用程序和 MySql 服务器设置替换带有 标记的文本。

【讨论】:

    【解决方案2】:

    GAE 当前不允许连接到任何远程 MySQL 服务器。这是他们的限制,与您的设置无关。

    改用他们的 Cloud SQL。

    【讨论】:

    • 我无法将我的开发服务器连接到任何本地数据库?那将是一个严重的限制,不是吗?它仅适用于 PHP 甚至 Python 吗?我假设 Python 开发人员想要访问本地数据库。
    • 是的,您可以在开发服务器中运行应用程序时连接到本地 MySQL 数据库。
    【解决方案3】:

    我不知道 Nagarjun 在哪种情况下发生了错误,但对我来说发生了以下 PHP 警告

    警告:mysql_connect(): No such file or directory in /Users/Aerendir/Documents/JooServer/_SandBox/GoogleAppEngine/continuous-wordpress-cms/wordpress/wp-includes/wp-db.php 在第 1372 行

    在我的情况下,我试图按照他们的教程在 Google AppEngine 上安装 WordPress。

    问题是我使用的主机名:localhost 而不是 127.0.0.1

    使用 127.0.0.1 作为主机名解决了这个问题。

    解决方案在这里找到:Configuring MySQL connection in Google App Engine PHP SDK on Windows 7

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-15
      相关资源
      最近更新 更多