在阅读了这里和其他各种互联网论坛上的一些类似主题之后,我仍然对我的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网络主机来做这个的
数据库名称、用户名和密码都是正确的,并链接到数据库(为安全起见,请使用密码)
2条答案
按热度按时间pxyaymoc1#
检查mysqld是否正在运行,防火墙是否允许mysql数据库通过。
编辑php.ini文件,确保在windows上启用extension=php\u mysqli.dll,在linux上启用extension=php\u mysqli.so。
在这里试试答案:testmysql
您必须检查两种设置才能正常工作(当然,假设您安装了mysql server):
检查php配置中mysql.default\u socket的值。
在mysql配置文件的[mysqld]标题下检查socket的值。
这些值必须相同;如果不是,则将其中一个更改为与另一个匹配,然后重新启动相应的服务。
but5z9lq2#