Я новичок на php-сайтах, раньше занимался только простыми сайтами на HTML и JavaScript, и я создал сайт, который хорошо работает на localhost. Он прекрасно подключается к базе данных и все функции php работают. Однако, когда я попытался загрузить свой веб-сайт на виртуальный сервер, к которому я купил доступ, я получаю сообщение об ошибке, в котором говорится о неудачной попытке подключения к локальному хосту. Однако я изменил всю информацию на своей странице подключения к базе данных, чтобы подключаться не к localhost, а к базе данных, которую я настроил на своем сервере, поэтому я не знаю, почему веб-сайт даже пытается получить доступ к localhost.
Вот мой код подключения к базе данных:
<?php
$servername = "100.100.100.100";
$username = "user_name";
$password = "password";
$database = "database_name";
$conn = new mysqli($servername,$username,$password,$database);
if ($conn->connect_error) {
die("Connection Failed: " . $conn->connect_error);
}
?>
Многие из моих страниц, для которых требуется этот документ, не загружаются, поскольку они не подключаются к базе данных.
Вот одна ошибка, которую я получаю:
Ошибка подключения: доступ запрещен для пользователя 'root' @ 'localhost' (используется пароль: YES)
И на другой странице я получаю это:
Ошибка подключения: узлу 'ip-100-100-100-100.ip.secureserver.net' не разрешено подключаться к этому серверу MySQL
Еще одна странная вещь заключается в том, что не все мои страницы, требующие подключения к базе данных, не могут быть загружены. Некоторые загружают все остальное содержимое после функции die (), а некоторые - нет (они даже не показывают ошибку), даже если ни один из них не обладает функциональностью, которую я ожидал бы, если бы соединение с базой данных работало.
Я был действительно озадачен этим, хотя это может оказаться простым исправлением. Любая помощь приветствуется.
----------------------------------------------- -----------ОБНОВИТЬ-------------------------------------- ------------------------
Я изменил имя сервера на localhost, а не на конкретный IP-адрес, и ошибки исчезли, но у меня все еще нет функциональности, т.е. данные не идут в базу данных и из нее, я не могу добавлять новых пользователей, я не могу войти в систему и т. д. Я все еще не уверен, почему изменение имени сервера избавило от ошибок, поэтому я не уверен, что это пока хорошие новости.
----------------------------------------------- -----------ОБНОВИТЬ-------------------------------------- ------------------------
Я заново загрузил загруженные исходные файлы со всей исходной информацией о подключении к базе данных, а затем оставил их на ночь. Они ошибок не возвращали и моя база данных работает нормально. Я понятия не имею, почему ошибки появились в первую очередь, поэтому, если вы просматриваете этот пост, потому что у вас есть похожая проблема, к сожалению, я не могу вам помочь. Тем не менее, это работает сейчас. Может быть, серверу потребовалось больше времени, чем я думал, чтобы установить соединение и разрешения? Это мое лучшее рабочее предположение прямо сейчас. Кроме того, я повторно добавлял права доступа несколько раз, поэтому, возможно, в разрешениях доступа была опечатка, которую я пропустил с первой попытки, и она работала со второй попытки, потому что я вставил их сразу после удаления и повторного добавления их. Я не совсем уверен, но это кажется разумной возможностью.
Если я когда-нибудь выясню, в чем конкретно проблема, я добавлю еще одно обновление, объясняющее ее.
Спасибо за помощь, Даррен.