我在将我的 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 时,指定的数据库参数不起作用。
任何想法可能是什么问题?