0

我在将我的 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 标准上的这个教程 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 时,指定的数据库参数不起作用。

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

4

0 回答 0