Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.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 连接到远程数据库_Php_Mysql - Fatal编程技术网

Php 连接到远程数据库

Php 连接到远程数据库,php,mysql,Php,Mysql,我正在尝试使siteA.com连接到siteB.com的数据库。但是连接超时。我已经在siteB.com使用的cpanel中添加了siteA.com作为“远程数据库访问主机”,但仍然没有成功 SiteA和siteB位于两个不同的主机上,如果我将它们放在同一个主机上,它们就可以正常工作 另外,我正在使用PHPPDO来设置连接 下面是我对siteA的mysql连接设置 <?php $hostname = "ipaddressofSiteB"; $db_name = "mybigdb"; $d

我正在尝试使siteA.com连接到siteB.com的数据库。但是连接超时。我已经在siteB.com使用的cpanel中添加了siteA.com作为“远程数据库访问主机”,但仍然没有成功

SiteA和siteB位于两个不同的主机上,如果我将它们放在同一个主机上,它们就可以正常工作

另外,我正在使用PHPPDO来设置连接

下面是我对siteA的mysql连接设置

<?php
$hostname = "ipaddressofSiteB"; 
$db_name = "mybigdb";
$db_user = "harry";
$db_pass = "fcr2^WK&M";
?>

尝试检查:

  • 防火墙。确保siteB.com配置为接受到端口3306的传入连接
  • MySQL配置。特别是siteB.com上MySQL配置中的
    bind address
    (大多数情况下位于
    /etc/my.cnf
    /etc/MySQL/my.cnf
    ),因为如果
    bind address
    设置为
    127.0.0.1
    ,则只接受本地连接
顺便说一句,您可以通过telnet进行更快/更简单的连接测试:

user@pc:~$ telnet siteB.com 3306

我的网络主机已阻止远程mysql连接


必须使用SiteB的ip和端口(3306)与他们联系,以便他们解锁传出连接

主机可能已防火墙。检查端口是否已打开。u允许从siteB到siteA的外部连接,并且上面的IP是否也有端口部分?通常为3306 ie:ipaddressofSiteB::3306