我有一个在AWS Lightsail上托管的wordpress网站。在那个网站上,我想使用一个短代码来使用mysqli从数据库中检索数据。但是,每次执行连接到数据库的脚本时,我都会收到一个连接错误。数据库位于同一个实例上。我想知道我是否需要建立一个SSH隧道,因为如果我连接到phpmyadmin,这也是必需的。但是,由于脚本是在服务器本身上执行的,所以在我的理解中这是没有意义的。我在本地主机上使用了完全相同的代码,它运行得非常好。我在这里错过了什么?
//Params to connect to a database
$dbHost = "*static ip of wordpress site*";
$dbUser = "root";
$dbPassword = "*password*";
$dbName = "*database name*";
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
try {
$db = new mysqli($dbHost, $dbUser, $dbPassword, $dbName);
$db->set_charset("utf8mb4");
} catch(Exception $e) {
error_log($e->getMessage());
exit('Error connecting to database');
}发布于 2021-04-19 22:04:03
//Params to connect to a database
$dbHost = "*static ip of wordpress site*";这应该是$dbHost = "localhost";,或者"127.0.0.1" (甚至"::1")。
localhost使用单独的虚拟网络接口,以确保Linux VM上的服务之间的通信不会离开VM,一般来说,使用localhost比其他属于主机接口的IP更安全,因为
https://wordpress.stackexchange.com/questions/386827
复制相似问题