Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将数据库与本地主机连接时出现什么错误?我可以将数据库与主机连接为本地IP地址?_Php_Mysqli - Fatal编程技术网

Php 将数据库与本地主机连接时出现什么错误?我可以将数据库与主机连接为本地IP地址?

Php 将数据库与本地主机连接时出现什么错误?我可以将数据库与主机连接为本地IP地址?,php,mysqli,Php,Mysqli,我的php页面和mysql服务器在同一台服务器上。 我可以连接数据库使用本地IP,它的工作。 但是,当尝试连接localhost时,会显示以下错误 连接失败:拒绝用户'root'@'localhost'的访问。 已更改mysqld.cnf文件 as绑定地址=0.0.0.0 我给予了以下许可 授予在上的所有特权。到root@localhost通过带有授权选项的“密码”标识; 授予在上的所有特权。到root@my本地IP由带有授权选项的“密码”标识 我不知道我的代码和配置有什么问题 <?php

我的php页面和mysql服务器在同一台服务器上。 我可以连接数据库使用本地IP,它的工作。 但是,当尝试连接localhost时,会显示以下错误

连接失败:拒绝用户'root'@'localhost'的访问。

已更改mysqld.cnf文件 as绑定地址=0.0.0.0

我给予了以下许可 授予在上的所有特权。到root@localhost通过带有授权选项的“密码”标识; 授予在上的所有特权。到root@my本地IP由带有授权选项的“密码”标识

我不知道我的代码和配置有什么问题

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$database="db";
// Create connection
$conn = new mysqli($servername, $username, $password, $database);
// Check connection
if ($conn->connect_error){
    die("Connection failed: "  . mysqli_connect_error());
} else {
echo 'connected successfully';die;
}
mysqli_close($conn);
?>

您是否尝试过servername 127.0.0.1

从mysql手册:

在Unix上,MySQL程序专门处理主机名localhost,与其他基于网络的程序相比,其处理方式可能不同于您所期望的。对于到本地主机的连接,MySQL程序尝试使用Unix套接字文件连接到本地服务器。即使提供了--port或-P选项来指定端口号,也会发生这种情况。要确保客户端与本地服务器建立TCP/IP连接,请使用--host或-h指定主机名值127.0.0.1,或指定本地服务器的IP地址或名称


您是否尝试过servername 127.0.0.1

从mysql手册:

在Unix上,MySQL程序专门处理主机名localhost,与其他基于网络的程序相比,其处理方式可能不同于您所期望的。对于到本地主机的连接,MySQL程序尝试使用Unix套接字文件连接到本地服务器。即使提供了--port或-P选项来指定端口号,也会发生这种情况。要确保客户端与本地服务器建立TCP/IP连接,请使用--host或-h指定主机名值127.0.0.1,或指定本地服务器的IP地址或名称

也许这可以帮助您:@NivApo当我给/usr/sbin/mysqld这个命令时,我没有得到响应,当使用这个命令时,授予所有权限。使用grant选项“root”@“localhost”时出现错误no grand命令可能这可以帮助您:@NivApo当我给/usr/sbin/mysqld这个命令时,我没有得到响应,当使用这个命令时,授予所有权限。若要使用grant选项“root”@“localhost”,则不会显示任何大命令错误