我是 php 的新手,在尝试在我的某个网页上建立数据库连接时,我在我网站的 phpMyAdmin 页面上进行了设置。
我收到此错误:
“数据库连接失败:无法连接到本地MySQL服务器 通过socket'/tmp/mysql.sock'(46)(2002)“
我不知道套接字是什么,或者为什么它试图看起来像临时文件,所以我甚至不知道在哪里解决这个问题。
我用来建立初始连接的代码是:
<?php
define("DB_SERVER", "localhost");
define("DB_USER", "xxxx");
define("DB_PASS", "xxxx");
define("DB_NAME", "tester");
$connection = mysqli_connect(DB_SERVER, DB_USER, DB_PASS, DB_NAME);
// Test if connection occurred.
if(mysqli_connect_errno()) {
die("Database connection failed: " .
mysqli_connect_error() .
" (" . mysqli_connect_errno() . ")"
);
}
?>
我知道我应该可以访问 MySQL 数据库,因为我自己登录并制作了它们。
我之前在计算机上使用 WAMP 设置了页面,一切正常。
就在我尝试在网站上实现它时,我遇到了这个错误。
任何帮助都会很棒!
答案 0 :(得分:0)
尝试使用127.0.0.1
代替localhost.
如果这不能解决问题,并且您具有服务器的root访问权限,请尝试以下命令
service mysql restart
重新启动mysql服务器。
第一个选项可能会奏效。同样,如果您具有对服务器的root访问权限,则应更改mysql配置以支持套接字,因为它优于TCP-ip连接。
答案 1 :(得分:0)
多次联系我的托管服务后,似乎发生了错误,因为我的托管服务最近更改了他们的规范,现在在主机和服务器字段中使用“mysql”而不是“localhost”。之前我曾使用“localhost”和其他主机服务,所以我没想到要更改此内容,主持人网站上的最新帮助文章没有更新以反映这一点。