2013-09-26 46 views
0

我在本地主機上使用EasyPHP:8080和我的localhost:80上使用IIS7.5。 工作就像一個魅力。不能在PDO連接到mysql數據庫,在端口8080上使用apache with easyPHP

我可以在這個地址沒有問題訪問的phpmyadmin:

http://127.0.0.1:8080/modules/phpmyadminXXXXXXXXXXXXX/ 

用root,沒有密碼。


我的問題是,爲什麼我的連接根本不起作用。沒有迴應,沒有錯誤信息,什麼都沒有。該頁面永遠繼續加載... 有我的代碼:

<?php 
$db_server    = '127.0.0.1:8080';     // DB Server Address 
$db_user    = 'root';     // DB Username 
$db_pass    = '';     // DB Password 
$db_database   = 'my_dbnameXXXX';    // Database Name 
try{ 
    $dbh = new PDO('mysql:host='.$db_server.'; dbname='.$db_database,$db_user, $db_pass); 
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
    $dbh->setAttribute(PDO::ATTR_TIMEOUT,3600); 
} 
catch(PDOException $e){ 
    echo $e->getMessage(); 
} 

?> 

是的,我嘗試用本地主機:8080,不工作要麼...

有人能幫我嗎?謝謝。我會留下來回應評論或問題。

回答

3

MySQL通常監聽端口3306,而不是8080,這是您的Web服務器正在監聽的端口。

+0

所以,可以不指定端口,它將使用默認值,這在這裏可能是正確的。 – JAL

+0

即使對於3306或者根本沒有端口也沒有工作,但仍然是同樣的問題... – Peter

+0

然後您的數據庫可能正在偵聽不同的端口,您需要弄清楚。 – sebotron

0

您應該分別指定host=port=。我不認爲PDO支持你在那裏使用的冒號格式。

另請注意,默認情況下MySQL是3306端口,但8080適用於您的Web服務器。儘量不要混淆兩者。

相關問題