无法通过套接字连接到本地MySQL服务器

上传或提交页面时,我的网站上出现以下错误:

mysql_real_escape_string()[function.mysql-real-escape-

string]:无法通过套接字’/var/lib/mysql/mysql.sock’连接到本地MySQL服务器(2)

这到底是什么意思?

回答:

由于对该错误的调用引发了错误,mysql_real_escape_string()因此它意味着您没有mysql_connect()先调用该错误并将有效的数据库句柄传递给mysql_real_escape_string(或调用mysql_connect()失败)。

在某些情况下,mysql扩展将尝试使用php.ini中的默认设置自动连接,如果这些设置不可用,则故障转移至my.cnf-

显然无效。也可能是设置有效,但是mysqld没有运行。

您是否具有成功连接到数据库的脚本?

您有数据库的用户名和密码吗?

尝试:

check_running();

$user=''; // fill in your details

$password=''; // fill in your details

$hosts=array(

'localhost', '127.0.0.1', $_SERVER['HTTP_HOST'], $_SERVER['SERVER_ADDR']

);

foreach ($hosts as $addr) {

try_con($addr, $user, $password);

try_con($addr . ':3306', $user, $password);

}

function try_con($host, $user, $password)

{

$dbh=mysql_connect($host, $user, $password);

if ($dbh) {

print "Connected OK with $host, $user, $password<br />\n";

} else {

print "Failed with $host, $user, $password<br />\n";

}

}

function check_running()

{

// this assumes that you are using Apache on a Unix/Linux box

$chk=`ps -ef | grep httpd | grep -v grep`;

if ($chk) {

print "Checking for mysqld process: " . `ps -ef | grep mysqld | grep -v grep` . "<br />\n";

} else {

print "Cannot check mysqld process<br />\n";

}

}

以上是 无法通过套接字连接到本地MySQL服务器 的全部内容, 来源链接: utcz.com/qa/412812.html

回到顶部