【问题标题】:PDO: If my host ist localhost:80, what do I have to put in here?PDO:如果我的主机是 localhost:80,我必须在这里输入什么?
【发布时间】:2010-12-29 02:28:06
【问题描述】:

我从 php 网站得到了这个例子:

<?php
try {
    $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
    foreach($dbh->query('SELECT * from FOO') as $row) {
        print_r($row);
    }
    $dbh = null;
} catch (PDOException $e) {
    print "Error!: " . $e->getMessage() . "<br/>";
    die();
}
?>

我在 mac 上使用 MAMP,当我调用我的本地站点时,它看起来像这样:

http://localhost:80/mysite/index.php

那么我到底要写什么

$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);

对于主机=?那会是本地主机,还是本地主机:80?还是完全不同的东西?我的 MySQL 数据库的端口号是 3306。这有关系吗?还是只是“本地主机”完全没问题?

【问题讨论】:

  • 你有没有运行过这个例子,就好像你的 MySQL 和 web 服务器安装在同一台机器上一样。

标签: php mysql pdo mamp


【解决方案1】:

MySQL 服务器和 HTTP 服务器是在您的机器上运行的独立程序。

URL 中的 80 端口属于 HTTP 服务器,而 MySQL 服务器则占用另一个端口,通常是 3306

【讨论】:

    【解决方案2】:

    假设 MySQL 在同一台机器上运行,您现在应该没问题。

    端口 80 是您的 Web 服务器 (apache) 正在运行的端口。 MySQL 将在不同的端口上运行。如果您的 MySQL 服务器在默认端口上运行,那么您可能不需要输入端口号,您所拥有的就可以正常工作。如果您安装 MySQL 以在不同的端口上运行,那么您可能需要输入端口号。

    另外,如果您在端口 80 上运行 apache,您甚至不必在您网站的 URL 中添加“:80”。由于端口 80 是 HTTP 的默认端口,因此浏览器会自动使用它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-12
      • 2011-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-17
      • 2019-09-11
      相关资源
      最近更新 更多