在LocalHost上拒绝PHP连接(HY000 / 2002)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在LocalHost上拒绝PHP连接(HY000 / 2002)相关的知识,希望对你有一定的参考价值。

在阅读了这里和其他各种互联网论坛上的一些类似主题之后,我仍然遇到一个问题,我的php代码让我循环...这是error_log文件给我的错误:

[30-Apr-2018 17:05:11 UTC] PHP Warning:  mysqli::mysqli(): (HY000/2002): Connection refused in /home/nicktric/public_html/index.php on line 12

以下是我的代码的当前且非常简单的状态:

<!DOCTYPE html>
<html>
<body>

<?php
$servername = "127.0.0.1";
$username = "nicktric_admin";
$password = "########";
$dbname = "nicktric_routes";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "SELECT name, server, status FROM routeStatus";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "<br> id: ". $row["name"]. " - Name: ". $row["server"]. " " . $row["status"] . "<br>";
    }
} else {
    echo "0 results";
}

$conn->close();
?> 

</body>
</html>

到目前为止我已尝试过以下内容:

  • 更改localhost127.0.0.1和服务器共享IP之间的主机名
  • 修改PHP套接字无济于事,因为我无法在CPanel上找到正确的配置

此外,有些事项需要注意:

  • 我是通过CPanel网站托管这样做的
  • 数据库名称,用户名和密码都是正确的并链接到数据库(安全密码)
答案

检查mysql是否正在运行,并且您的防火墙允许通过mysql数据库。

编辑你的php.ini文件并确保在Windows上启用扩展扩展名= php_mysqli.dll或在Linux上启用扩展名= php_mysqli.so。

试试这里的答案:Test Mysql

  • 您必须检查两个设置才能正常工作(假设您当然安装了MySQL服务器):
  • 检查PHP配置中mysql.default_socket的值。
  • 检查[mysqld]标题下MySQL配置文件中socket的值。
  • 这些价值必须相同;如果不是,请更改一个以匹配另一个并重新启动相应的服务。
另一答案
In /etc/mysql/my.cnf you should see this near the top of the file:

[client]
port          = 3306
socket        = /var/run/mysqld/mysqld.sock
Change socket to the location of your MemSQL socket file. By default, this is /var/lib/memsql/data/memsql.sock.

hope that will work !

以上是关于在LocalHost上拒绝PHP连接(HY000 / 2002)的主要内容,如果未能解决你的问题,请参考以下文章

MySQL + Laravel:SQLSTATE [HY000] [1045] 用户'so'@'localhost'的访问被拒绝,但连接数据正常并且配置缓存被清除

Drupal:PDOException:SQLSTATE [HY000] [2002]连接在lock_may_be_available()中被拒绝

(HY000/1045) 用户 'root'@'localhost' 的访问被拒绝(使用密码:是)

PHP + MYSQL + Laravel - “SQLSTATE [HY000] [2002] 连接被拒绝” [重复]

在 Laravel 项目中收到“SQLSTATE [HY000] [2002] 连接被拒绝错误”

PHP SQLSTATE[HY000] [1045] 用户 Laravel 访问被拒绝