建立与Cloud SQL的数据库连接时出错

时间:2013-09-27 01:16:36

标签: php wordpress google-app-engine google-cloud-sql

请原谅新手问题:

我在我的开发服务器上运行Wordpress并没有任何问题。当我尝试使用appengine上传它时,我从WP_DEBUG获得以下错误输出,其中MYSITEID是我的站点的名称:

Warning: mysqli_connect(): (HY000/2002): Unable to find the socket transport "tcp" -
did you forget to enable it when you configured PHP? in 
/base/data/home/apps/s~MYSITEID/wp.370505361471441320/wordpress/wp-content/db.php on line 176

继续:

"这意味着wp-config.php文件中的用户名和密码信息不正确,或者我们无法通过:/cloudsql/MYSITEID:wordpress与数据库服务器联系。这可能意味着您的主机的数据库服务器已关闭。"

My Cloud SQL实例已启动并正在运行,我完全按照教程步骤7和8进行操作。

我的wp_config db_host部分显示为:

/** MySQL hostname */
if(isset($_SERVER['SERVER_SOFTWARE']) && strpos($_SERVER['SERVER_SOFTWARE'],'Google App Engine') !== false) {
  define('DB_HOST', ':/cloudsql/MYSITEID:wordpress');
}else{
  define('DB_HOST', 'localhost');
}

从外观上看,我的错误文本几乎是phpmyadmin用户遇到的错误文本,但我仍然不确定如何解决它。我是否需要在DB_HOST行上更改某些内容?见phpMyAdmin on GAE - Authentication

感谢您的帮助 - 非常感谢GAE for PHP存在!

1 个答案:

答案 0 :(得分:0)

原来这个问题出现在db.php中 - 我按照以下说明在wp-content中安装了这个问题:http://wordpress.org/plugins/mysqli/installation/

我不知道为什么我最初安装mysqli而不是使用mysql;它似乎解决了我在开发服务器上遇到的早期php错误。但删除db.php后,我的开发版和云端SQL实例都运行正常!