MySQL连接错误

时间:2010-11-16 02:43:24

标签: php mysql apache

我正在尝试在运行Apache的Web服务器上执行以下PHP脚本(称为test1.php)。该脚本尝试连接到MySQL服务器:

===============================================

$myHost = "localhost";

$myUser = "anyone";

$myPwd = "1234";

$link = mysql_connect($myHost,$myUser,$myPwd);

if (!$link) {

die(mysql_errno().": ".mysql_error()."\n");

}

echo "Connected successfully.\n";

=============================================== =

我一直收到这样的错误:

2002:无法通过socket'/var/lib/mysql/mysql.sock'连接到本地MySQL服务器(13)

但是,作为root或普通用户,我可以从shell成功执行上述脚本:

shell> php /var/www/html/test1.php

已成功连接。

如果有人对这个问题有任何暗示,我很困惑并感激不尽。非常感谢。

2 个答案:

答案 0 :(得分:2)

在apache和CLI下执行<?php phpinfo();并比较mysql.default_socket值。

获得有效的套接字路径(来自CLI phpinfo)后 - 您可以为php.ini指定相同的内容,或者在代码中指定相同的内容:

$link = mysql_connect($myHost . ':/tmp/mysql.sock', $myUser, $myPwd);

答案 1 :(得分:0)

我将SELinux选项更改为Permissive后,现在可以正常工作了;这是强制执行。