我无法从 App Engine SDK 服务器建立与 MAMP 一起安装的本地 MySQL 的数据库连接。我知道这是关于 MAMP 中的 MySQL 套接字文件。如何让 App Engine SDK 监听本地 MySQL?我还想确保我的 MAMP 设置保持不变。谢谢。
3 回答
App Engine SDK for php 可以连接到您开发环境中的本地 MySql 服务器。首先确保您拥有最新的 SDK for PHP 版本,当前版本为 1.8.6。确保您的本地 MySql 服务器实例正在运行并侦听端口 3306。在 App Engine SDK 启动器中添加您的应用程序,单击它并选择编辑/应用程序设置并在“额外命令行标志”字段中添加以下内容:- mysql_user= 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 服务器设置。
我不知道 Nagarjun 在哪种情况下发生了错误,但对我来说发生了以下 PHP 警告
警告:mysql_connect():第 1372 行的 /Users/Aerendir/Documents/JooServer/_SandBox/GoogleAppEngine/continuous-wordpress-cms/wordpress/wp-includes/wp-db.php 中没有这样的文件或目录
在我的情况下,我试图按照他们的教程在 Google AppEngine 上安装 WordPress。
问题是我使用的主机名:localhost 而不是 127.0.0.1
使用 127.0.0.1 作为主机名解决了这个问题。
解决方案在这里找到:在 Windows 7 上的 Google App Engine PHP SDK 中配置 MySQL 连接
GAE 目前不允许连接到任何远程 MySQL 服务器。这是他们的限制,与您的设置无关。
请改用他们的 Cloud SQL。