无法通过PHP脚本远程连接到MySQL错误(13),通过CLI可以正常工作

时间:2019-02-21 09:53:54

标签: php mysql linux

我在这里查看了大约50个相同的问题,但是似乎没有一个问题可以解决我的问题。我无法通过php脚本远程连接到我的MySQL数据库,但是!mysql -u admin -p -h 172.16.2.93连接有效。

这是我正在使用的代码

<?php
session_start();

// initializing variables
$username = "";
$email    = "";
$errors = array(); 

$dbhost = "172.16.2.93";
$dbuser = "admin";
$dbpass = "mariadb";
$dbname = "registration";

// connect to the database
$db = mysqli_connect("$dbhost", "$dbuser", "$dbpass", "$dbname") or die(mysql_error());

错误

当我访问脚本连接到的网站时,在/var/log/httpd/access_log中收到以下错误:

[:error] [pid 14797] [client 172.16.2.143:55201] PHP Warning: mysqli_connect(): (HY000/2003): Can't connect to MySQL server on '172.16.2.93' (13) in /var/www/html/server.php on line 15

我尝试过的事情

  • bind-address更改为bind-address=0.0.0.0#bind-address

  • 关闭所有防火墙

  • 运行命令setsebool httpd_can_network_connect=1

  • /etc/selinux/config中禁用selunix

编辑:问题似乎已解决。使用remote@%创建用户mysql_native_password后,我可以通过脚本访问数据库。

1 个答案:

答案 0 :(得分:0)

请检查Mysql是否在端口3306上从客户端响应,如果它是另一个端口($ host,$ user,$ password,$ dbname,$ port,$ socket),则必须在mysqli_connect中提及该端口。

您必须缺少端口参数