【发布时间】:2017-12-09 22:57:20
【问题描述】:
我一直在这几天试图让它发挥作用。我刚刚按照 AWS 教程在 Amazon LINUX 的 EC2 实例上安装了 LAMP 堆栈。我一直在尝试与它建立基本的联系。只是简单的插入语句,我不断收到这个错误:
服务器正在工作。我有一个可以工作的测试文件。
我的数据库已设置并准备就绪。它将收到一个 ID、一个用户名、一个密码和一个电子邮件地址。但是我无法连接到mysql。 我有: 1)设置用户并授予所有权限 2) 检查 my.cnf 文件。没有列出要更改的“绑定地址”,但我添加了一个只是为了检查。我添加了我的服务器 IP。仍然没有工作。 3) 安全组是开放的。我有 SSH、HTTP、HTTPS 和 MySQL 接受来自“任何地方”的入站连接。
这是我想要完成的简单任务:
<?php
$servername = "xx.xx.xxx.xx;
$username = "ec2-user";
$password = "112233445566";
$dbname = "db";
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO MyGuests (id, firstname, lastname, email) VALUES(1, Fake, User, fake3mail@gmail.com);
if ($conn->query($sql) === TRUE) {
echo "Table MyGuests created successfully";
} else {
echo "Error creating table: " . $conn->error;
}
$conn->close();
?>
我正在尝试完成的任务:连接到 MySQL 数据库并插入一行数据。
实际结果:错误和无法连接。
我已经在互联网上搜索了 DAYS 天,试图让它发挥作用。我到底在这里想念什么?!是否还有更多必须完成的配置?我已经尝试了我读过的每一件事,但它不起作用。
【问题讨论】:
-
我相信您在同一个 EC2 实例上拥有整个 LAMP 堆栈。您是否尝试过使用 localhost 作为服务器名。
-
我刚刚将其更改为 localhost,我也遇到了同样的问题。该文件的名称是 table.php。我是否正确假设连接的方式是像所有其他文件一样通过文件名进入公共 DNS 地址之后?例如:ec2-54-174-71-33.compute-1.amazonaws.com/table.php
标签: php mysql linux apache amazon-web-services