Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.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
MYSQL远程访问php_Php_Mysql - Fatal编程技术网

MYSQL远程访问php

MYSQL远程访问php,php,mysql,Php,Mysql,我在托管服务器上有一个项目。他们非常不可靠,所以我决定搬到另一个主机。在此期间,我希望将php文件保留在现有服务器上,并将它们指向rackspace服务器上的另一个MySQL数据库。我已在rackspace服务器上配置mysql以接受远程连接。我可以在家里通过我的ubuntu终端成功地连接到它。但是,每次托管服务器上的php文件尝试连接到它时,我都会出现以下错误: 这是php中的代码 mysql_pconnect("1.2.3.4","user","password") or die("Unab

我在托管服务器上有一个项目。他们非常不可靠,所以我决定搬到另一个主机。在此期间,我希望将php文件保留在现有服务器上,并将它们指向rackspace服务器上的另一个MySQL数据库。我已在rackspace服务器上配置mysql以接受远程连接。我可以在家里通过我的ubuntu终端成功地连接到它。但是,每次托管服务器上的php文件尝试连接到它时,我都会出现以下错误:

这是php中的代码

mysql_pconnect("1.2.3.4","user","password")
or die("Unable to connect to SQL server".mysql_error());
这是错误/输出

无法连接到SQL server在运行期间与MySQL服务器失去连接 质疑

你知道为什么我可以通过终端而不是php连接吗


谢谢检查您的密码。在移动时将其设置为一个较高的数字。

如果连接立即被拒绝,则旧的或新的主机提供商正在阻止连接,或者您用于连接的用户帐户上的主机掩码有问题。如果无法访问旧主机上的命令行mysql客户端,您可以尝试fsockopen()来尝试直接连接,以查看连接是否被拒绝,并尝试确定是哪种情况。如果它在超时后被阻止,那么几乎可以肯定它的一端或两端都是防火墙策略

不过,我可否说:

a) mysql_uu函数已被弃用,因此您可能还应该考虑升级到mysqli或pdo之类的


b) 除非你告诉任何你用来连接SSL或其他安全方法的api(在mysql情况下是mysql\u客户端\u SSL标志),否则你的数据(可能还有你的密码或密码上的一些变体,可能会让攻击者在你连接时进行连接)将在未加密的情况下通过开放互联网。。。当然,这需要一个SSL证书或容易受到中间人攻击,所以…是的。

几个小时的停机时间是不可接受的吗?并非所有主机服务器都允许这样做。Rackspace或您的托管服务器可能正在阻止远程MySQL。通过修改die方法,您会得到什么错误代码:die(“无法连接到SQL server”。MySQL\u error()。”错误代码:“.MySQL\u errno”);我想把所有的php移到我的机架空间,把域名的DNS指向那个IP。可能是最简单的解决办法。