我是php网站的新手,以前只做过简单的html和javascript网站,我创建了一个在localhost上运行良好的网站。它可以很好地连接到数据库,所有的php功能都可以正常工作。当我试图上传我的网站到一个vps我买了访问,但是,我得到一个错误,说有一个不成功的尝试连接到本地主机。不过,我已经更改了数据库连接页上的所有信息,使其不是连接到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()函数之后加载所有其他内容,有些则不加载(它们甚至不显示错误),即使它们中没有一个具有我在数据库连接正常工作时所期望的功能。
我真的被这个问题难住了,尽管它可能只是一个简单的解决办法。感谢您的帮助。
4条答案
按热度按时间a8jjtwal1#
--
我重新上传了原始文件,我上传了所有原始数据库连接信息,然后让它坐一夜。他们没有返回错误,我的数据库连接工作正常。我不知道为什么错误会出现在第一位,所以如果你看这篇文章是因为你有一个类似的问题,不幸的是,我不能帮助你。也就是说,它现在起作用了。也许服务器需要比我想象的更长的时间来获得有效的连接和权限?这是我目前最有效的猜测。另外,我多次重新添加了访问权限,所以可能访问权限中有一个我在第一次尝试时漏掉的输入错误,而在第二次尝试时它起了作用,因为我在删除它们并重新添加它们之后立即将它们放入。我不完全确定,但这似乎也是一个合理的可能性。
如果我真的搞清楚问题出在哪里,我会再加一个更新来解释。
谢谢你的帮助,达伦。
bvhaajcl2#
--
我将服务器名改为localhost,而不是特定的ip地址,错误消失了,但我仍然没有任何功能,即数据不能进出数据库,我不能添加新用户,我不能登录,等等。我仍然不确定为什么更改服务器名可以消除错误,所以我还不确定这是个好消息。
kpbpu0083#
--------更新
pepwfjgg4#
--------更新