首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWS Lightsail Wordpress -使用mysqli连接实例上的数据库

问AWS Lightsail Wordpress -使用mysqli连接实例上的数据库
EN

WordPress Development用户
提问于 2021-04-18 15:14:08
回答 1查看 277关注 0票数 0

我有一个在AWS Lightsail上托管的wordpress网站。在那个网站上,我想使用一个短代码来使用mysqli从数据库中检索数据。但是,每次执行连接到数据库的脚本时,我都会收到一个连接错误。数据库位于同一个实例上。我想知道我是否需要建立一个SSH隧道,因为如果我连接到phpmyadmin,这也是必需的。但是,由于脚本是在服务器本身上执行的,所以在我的理解中这是没有意义的。我在本地主机上使用了完全相同的代码,它运行得非常好。我在这里错过了什么?

代码语言:javascript
复制
//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'); 
}
EN

回答 1

WordPress Development用户

回答已采纳

发布于 2021-04-19 22:04:03

代码语言:javascript
复制
//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更安全,因为

  • 您将避免在主机上配置防火墙时出现的任何问题
  • 同样地,在AWS环境中,如果您使用的是面向IP的公共主机,而不是虚拟私有云上的内部IP地址,则可以避免使用任何安全组/ VPC过滤器。
  • mysql登录可以被允许连接的主机过滤,如果根用户可能被限制在数据库级别的本地主机登录。
票数 0
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/386827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档