部署后,Google App Engine无法连接到Cloud SQL

时间:2019-08-18 16:47:46

标签: wordpress google-app-engine

我在将Wordpress网站部署到Google App Engine(GAE)时遇到问题。当我在Cloud Shell本地开发环境中使用Web Preview时,一切正常。我在db.php中使用此代码来提供wp-config.php文件的不同路径,具体取决于应用程序是在本地开发环境中还是从GAE环境中运行。

if (isset($_SERVER['GAE_ENV'])) {
    require_once '/srv/wp-config.php';
} else {
    require_once '../../../../wp-config.php';
}

我的Wordpress网站在本地工作时可以完美运行,这意味着我能够查询数据库,因此wp-config.php的路径正确,数据库参数也必须正确。

我遵循了GAE Standard上的Wordpress教程,并修改了wp-config.php文件,因此我们现在根据环境提供不同的数据库参数:

if ($onGae) {
  /** The name of the Cloud SQL database for WordPress */
  define('DB_NAME', 'myDB');
  /** Production login info */
  define('DB_HOST', ':/cloudsql/myProject:us-central1:myInstance');
  define('DB_USER', 'root');
  define('DB_PASSWORD', 'myPassword');
} else {
  /** The name of the local database for WordPress */
  define('DB_NAME', 'myDB');
  /** Local environment MySQL login info */
  define('DB_HOST', '127.0.0.1');
  define('DB_USER', 'root');
  define('DB_PASSWORD', 'myPassword');
} 

我的下一步是使用google app deploy并在GAE环境中测试该应用程序。 WordPress网站已加载,但在执行数据库搜索时会抛出此错误:

Warning: mysqli_connect(): php_network_getaddresses: getaddrinfo failed: Name or service not known

似乎我的数据库参数可以从本地开发环境连接到Cloud SQL,但是当将其部署到GAE时,指定的数据库参数不起作用。

任何想法可能是什么问题?

0 个答案:

没有答案