2011-10-24 112 views
0

所以我试图在我的本地机器上开发,而在我的远程服务器上使用一个数据库。mysql_connect从本地机器到远程服务器

为此,我尝试更改myql_connect行。

$con = mysql_connect("localhost", "username", "pw"); 

$con = mysql_connect("mydomain.com:2082", "username", "pw"); 

,现在我收到以下错误

Warning: mysql_connect() [function.mysql-connect]: MySQL server has
gone away in C:\xampp\htdocs\posts\index.php on line 27 Warning:
mysql_connect() [function.mysql-connect]: Error while reading greeting
packet. PID=5092 in C:\xampp\htdocs\posts\index.php on line 27
Warning: mysql_connect() [function.mysql-connect]: MySQL server has
gone away in C:\xampp\htdocs\posts\index.php on line 27 Fatal error:
Maximum execution time of 30 seconds exceeded in
C:\xampp\htdocs\posts\index.php on line 27

我真的不明白是什么:2082或什么确实。在它使用的php页面的示例中:3307,但是当我登录到远程服务器上的cPanel时,它总是在我的域名后面有2082个。在任何情况下,3307都不起作用。

任何人都可以帮我弄清楚我做错了什么吗? (或者我应该做不同的东西 - 就像在php.ini [??]某处改变mysql的默认主机,然后继续使用local主机在mysql_connect

感谢您的帮助

+0

只是为了澄清,你有没有设置网络服务器接受外部连接? –

+4

:2082是要连接到指定主机名的端口。默认的MySQL端口是3306.我建议a)完全省略端口,并允许它连接到默认端口b)向托管服务提供商询问正确的连接细节。 –

+2

MySQL侦听连接的默认端口是'3306'。 '2082'(可能是CPanel正在收听的端口)完全不相关。 –

回答

1

?这:2082是MySQL是试图连接到的端口。它然而,不会相同端口作为您的cPanel。:3307是MySQL移植传统侦听。

我不使用的cPanel多,但我相信它倾向于建立一个可以连接到的子域mysql.yourdomain.com

过去,确保您将mySQL用户设置为可以从本地计算机进行连接。

+1

'MySQL默认使用端口3306 .' –

0

请与远程服务器管理部门联系,并要求允许您的服务器IP地址从您的服务器/网站访问其数据库。

相关问题