在阅读了此处和其他各种互联网论坛上的许多类似主题后,我的 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>
到目前为止我已经尝试过以下操作:
- 在
localhost
、127.0.0.1
和服务器共享 IP 之间更改主机名 - 修改 PHP 套接字没有效果,因为我无法在 CPanel 上找到正确的配置
此外,需要注意的一些事项是:
- 我通过 CPanel 网络托管执行此操作
- 数据库名称、用户名和密码均正确且已链接到数据库(为了安全起见,密码已被覆盖)
最佳答案
检查 mysqld 是否正在运行,并且您的防火墙是否允许 mysql 数据库通过。
编辑您的 php.ini 文件并确保在 Windows 上启用扩展 extension=php_mysqli.dll 或在 Linux 上启用 extension=php_mysqli.so。
在这里尝试答案:Test Mysql
- 您必须检查两项设置才能使其正常工作(假设 当然你已经安装了 MySQL 服务器):
- 检查 PHP 配置中 mysql.default_socket 的值。
- 检查 MySQL 配置文件中的套接字值 [mysqld] 标题。
- 这些值必须相同;如果不是,请将其更改为 匹配另一个并重新启动相应的服务。
关于LocalHost 上的 PHP 连接被拒绝 (HY000/2002),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50106028/