Я уже несколько дней пытаюсь заставить это работать. Я только что последовал за учебником AWS и установил стек LAMP на экземпляр EC2 AMAZON LINUX. Я пытался просто сделать базовые связи с ним. Просто добавьте инструкции и я постоянно получаю эту ошибку:
Сервер работает. У меня есть тестовый файл, который работает.
Моя база данных настроена и готова. Он получит идентификатор, имя пользователя, пароль и адрес электронной почты. Но я не могу подключиться к mysql. У меня есть: 1) настроить пользователя и предоставить все привилегии 2) проверил файл my.cnf. Нет никакого "связного-адреса" для изменения, но я добавил его только для проверки. Я добавил свой IP-адрес сервера. Все еще не сработало. 3) Группы безопасности открыты. У меня есть SSH, HTTP, HTTPS и MySQL, принимающие входящие подключения из "Anywhere".
Вот простая задача, которую я пытаюсь выполнить:
<?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, [email protected]);
if ($conn->query($sql) === TRUE) {
echo "Table MyGuests created successfully";
} else {
echo "Error creating table: " . $conn->error;
}
$conn->close();
?>
Задача, которую я пытаюсь выполнить: подключиться к базе данных MySQL и вставить строку данных.
Фактический результат: ошибка и невозможность подключения.
Я пробовал интернет для DAYS, пытаясь заставить это работать. Какого черта я здесь пропал?! Есть ли еще больше конфигураций, которые нужно сделать? Я пробовал все, что прочитал, и он не работает.
Когда я перехожу на эту страницу, она работает, поэтому я предполагаю, что вы исправили эту проблему: ec2-54-174-71-33.compute-1.amazonaws.com.
Для вашей базы данных измените имя $servername
на "localhost"
. Нет необходимости выполнять поиск DNS для решения вашей собственной системы.
Если у вас возникли проблемы с вашим PHP-кодом (вы делаете это с последнего комментария), посмотрите на свой файл PHP.INI. В этом файле будет указано место для ваших журналов ошибок. Найдите строку "error_log = "
Этот файл сохранит ошибки для ваших PHP-программ (скриптов). Просто просмотрите нижнюю часть файла для получения последних сообщений об ошибках. Если error_log не настроен, настройте его.
Одна из проблем, которые я вижу с вашим кодом, заключается в том, что вы не добавляете одинарные кавычки вокруг своих строк. Ваши значения должны выглядеть так: VALUES(1, 'Fake;', 'User', '[email protected]')
Я действительно понял, что происходит. видимо, вы не можете предоставить разрешение пользователю ec2 (пользователю по умолчанию), как я это делал. Я создал нового отдельного пользователя и предоставил все разрешения этому пользователю, и теперь он отлично работает.