无法在PDO中连接到mysql数据库,在端口8080上使用带有easyPHP的apache


Could'nt connect in PDO to mysql database, using apache with easyPHP on port 8080

我在我的本地主机上使用EasyPHP:8080,在我的本地主机上使用IIS7.5:80。像魅力一样工作。

我可以在这个地址毫无问题地访问phpmyadmin:

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

使用根和无密码。


我的

问题是,为什么我的连接根本不起作用。没有响应,没有错误消息,什么都没有。页面将永远继续加载...有我的代码:

<?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,也不起作用...

有人可以帮助我吗?谢谢。我会留下来回复评论或问题。

MySQL通常侦听端口3306,而不是8080,这是您的Web服务器正在侦听的端口。

您应该

分别指定host=port=。我认为PDO不支持您在那里使用的冒号样式表示法。

另请注意,MySQL 默认是端口 3306,但 8080 用于您的 Web 服务器。尽量不要混淆两者。