Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将信息从SQL数据库访问到另一台服务器?_Php_Mysql_Connection_Database Connection - Fatal编程技术网

Php 如何将信息从SQL数据库访问到另一台服务器?

Php 如何将信息从SQL数据库访问到另一台服务器?,php,mysql,connection,database-connection,Php,Mysql,Connection,Database Connection,我有两台服务器,为了回答我的问题,让我们把第一台服务器命名为A,第二台服务器命名为B。服务器A是一台magento服务器,有很多用户数据,服务器B是一个基本网页 我想在服务器B中创建一个分析仪表板,它使用服务器A的SQL数据库 现在的问题是从服务器B到服务器a的远程连接。 我尝试连接到服务器A,在服务器B中使用以下代码: $servername = "104.2*****"; // Server A $username = "root"; $password = "******"; $dbn

我有两台服务器,为了回答我的问题,让我们把第一台服务器命名为A,第二台服务器命名为B。服务器A是一台magento服务器,有很多用户数据,服务器B是一个基本网页

我想在服务器B中创建一个分析仪表板,它使用服务器A的SQL数据库

现在的问题是从服务器B到服务器a的远程连接。 我尝试连接到服务器A,在服务器B中使用以下代码:

$servername = "104.2*****"; // Server A

$username = "root";

$password = "******";
$dbname = "magento";

// Create connection

$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 
我得到这个错误: 连接失败:无法连接到“104.2******”上的MySQL服务器


有人能告诉我我做错了什么吗

如果数据库服务器上的设置现在允许不安全的连接,那么您可能需要创建ssh隧道来连接到远程服务器托管的数据库,这可能就是您出现该错误的原因


可能是您要连接的服务器上存在防火墙限制。MySQL端口连接可能受到限制。 尝试从运行此脚本的服务器(或其他服务器)连接到要连接到的服务器的ip/端口。 如果您可以访问linux/windows控制台,请尝试运行:

telnet 104.2***** 3306

3306是MySQL的默认端口,telnet应该可以正常工作。

这不是PHP的问题,而是MySQL的配置问题。您需要在服务器上配置MySQL,以允许从服务器的IP地址进行远程连接。您知道有任何教程可以这样做吗?我现在遇到一个新错误:未知的MySQL服务器主机“104.236”。***'我现在遇到这个错误:未知的MySQL服务器主机“104.236”。***'您可能需要调整shell脚本来隧道脚本将本地服务器转换为远程ip。当它运行时,它将允许连接到远程ip。