【问题标题】:Error establishing a database connection to Cloud SQL与 Cloud SQL 建立数据库连接时出错
【发布时间】:2013-09-27 01:16:35
【问题描述】:

请原谅一个新手问题:

我在我的开发服务器上启动并运行了 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 联系数据库服务器。这可能意味着您主机的数据库服务器已关闭。”

我的 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 的存在!

【问题讨论】:

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


    【解决方案1】:

    原来问题出在 db.php 中 - 我已按照此处的说明将其安装在 wp-content 中:http://wordpress.org/plugins/mysqli/installation/

    我不知道为什么我最初安装的是 mysqli 而不是使用 mysql;它似乎修复了我在开发服务器上遇到的早期 php 错误。但删除 db.php 后,我的开发版本和 Cloud SQL 实例都可以正常工作!

    【讨论】:

    • 您的 WordPress 网站是否也在 Google Cloud 中运行?我即将开始一个项目,PHP 网站将托管在 GoDaddy 中,My Sql 数据库将在 Google Cloud SQL 中。可能吗?谢谢。
    猜你喜欢
    • 2021-01-22
    • 1970-01-01
    • 2016-01-15
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 2021-05-28
    相关资源
    最近更新 更多