Can';不能用php连接MySQL服务器,但可以通过HeidiSQL连接

Can';不能用php连接MySQL服务器,但可以通过HeidiSQL连接,php,mysql,mysqli,heidisql,Php,Mysql,Mysqli,Heidisql,当我尝试使用以下代码连接到网站数据库时: $server = "domain"; $login = "username"; $password = "password"; $database = "databasename"; $port = 3307; $con = mysqli_connect($server, $login, $password, $database, $port); 并且启用了所有警告和错误我收到一条消息说 警告:mysqli_connect():(HY000/2003

当我尝试使用以下代码连接到网站数据库时:

$server = "domain";
$login = "username";
$password = "password";
$database = "databasename";
$port = 3307;
$con = mysqli_connect($server, $login, $password, $database, $port);
并且启用了所有警告和错误我收到一条消息说

警告:mysqli_connect():(HY000/2003):无法连接到“路径”中“域”(111)上的MySQL服务器

但是,当我将$server更改为localhost时,它可以正常工作


如果它通过php阻止我,除非我使用localhost,有人知道为什么HeidiSQL或MySQL管理员客户端可以使用域进行连接吗?

我从您的问题陈述中了解到,您无法使用域或IP地址连接到MySQL服务器。 要解决此问题,首先需要向用户授予数据库访问权限。签出下面的sql,这将为您工作

GRANT ALL PRIVILEGES ON `databasename`.* TO 'username'@'domain' IDENTIFIED BY 'password' WITH GRANT OPTION;
一旦授予用户权限,请检查您的MySQL配置设置。编辑MySQL配置文件my.cnf并设置以下设置

将绑定地址设置为0.0.0.0或注释掉:

bind-address            = 0.0.0.0
OR
# bind-address          = 127.0.0.1

您的机器上是否安装了CentOS?