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