前言
今天检查计划任务时发现图图的自动续费一直显示 数据库连接失败: Connection refused 
检查问题
打开自动续费文件 zdxf.php 检查了一番。
数据库的 数据库名 , 用户名 , 数据库密码 都没问题,我便想到前两天修改了数据库的默认端口是不是端口没修改的问题,可是发现图图配置也并没有修改端口的地方
于是我便检查了图图数据库链接的代码,使用的是 mysqli 扩展
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("数据库连接失败: " . $conn->connect_error);
}我发现自动续费链接数据库时这里没有指定端口,所以肯定是用了默认的3306,
mysqli的链接完整构造函数其实是这样的:
new mysqli(host, username, password, dbname, port, socket)正确的参数顺序是主机名、用户名、密码、数据库名、端口,然后是socket。因此,如果用户想要指定端口,应该在数据库名之后添加端口参数。例如,如果端口是1234,那么代码应该是:
$conn = new mysqli($servername, $username, $password, $dbname, 1234);
效果
修改完后就恢复正常了
评论 (0)