Подключение стека AWS LAMP к базе данных MySQL с использованием проблем PHP

0

Я уже несколько дней пытаюсь заставить это работать. Я только что последовал за учебником 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, пытаясь заставить это работать. Какого черта я здесь пропал?! Есть ли еще больше конфигураций, которые нужно сделать? Я пробовал все, что прочитал, и он не работает.

Теги:
amazon-web-services

2 ответа

1

Когда я перехожу на эту страницу, она работает, поэтому я предполагаю, что вы исправили эту проблему: 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]')

  • 0
    Спасибо за ответ. Я исправил проблему с одинарной кавычкой. Я также нашел журнал ошибок. В нем говорится следующее: 7] Ошибка синтаксического анализа PHP: синтаксическая ошибка, неожиданная «таблица» (T_STRING) в / var / www / htm l / table.php в строке 18
  • 0
    Возможно, потому что ваша строка $ sql не имеет конечной кавычки, чтобы закрыть строку.
0

Я действительно понял, что происходит. видимо, вы не можете предоставить разрешение пользователю ec2 (пользователю по умолчанию), как я это делал. Я создал нового отдельного пользователя и предоставил все разрешения этому пользователю, и теперь он отлично работает.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню