PDO: Если мой хост is localhost: 80, что мне здесь поставить? - PullRequest
2 голосов
/ 22 декабря 2009

Я получил этот пример с сайта 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();
}
?>

Я использую MAMP на Mac, и когда я звоню на свой локальный сайт, это выглядит так:

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

так что именно я должен написать в

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

для хоста =? это будет localhost, или это будет localhost: 80? или что-то совершенно другое? Моя БД MySQL имеет номер порта 3306. Это актуально? Или просто "localhost" прекрасно?

Ответы [ 2 ]

4 голосов
/ 22 декабря 2009

Теперь у вас должно быть все в порядке, если MySQL работает на той же машине.

Порт 80 - это то, на чем работает ваш веб-сервер (apache). MySQL будет работать на другом порту. Если ваш сервер MySQL работает через порт по умолчанию, вам, вероятно, не нужно вводить номер порта, и то, что у вас будет, будет работать нормально. Если вы установили MySQL для запуска на другом порту, вам, вероятно, придется ввести номер порта.

Кроме того, если у вас запущен apache на 80-м порту, вам даже не нужно вставлять «: 80» в URL вашего сайта. Поскольку порт 80 является портом по умолчанию для HTTP, браузер будет использовать его автоматически.

3 голосов
/ 22 декабря 2009

MySQL-сервер и HTTP-сервер - это отдельные программы, работающие на вашем компьютере.

Порт 80 в URL принадлежит HTTP-серверу, а сервер MySQL, с другой стороны, использует другой порт, обычно 3306.

...