2011-10-24 132 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地址從您的服務器/網站訪問其數據庫。

相關問題