Pergunta

Recebi este exemplo no site 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();
}
?>

Eu uso o MAMP no Mac e, quando ligo para o meu site local, fica assim:

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

Então, o que exatamente eu teria que escrever

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

para host =? Isso seria localhost, ou seria localhost: 80? Ou algo totalmente diferente? Meu mysql db tem o número da porta 3306. Isso é relevante? Ou é apenas "localhost" perfeitamente bem?

Foi útil?

Solução

O que você tem agora deve ficar bem, assumindo que o MySQL esteja em execução na mesma máquina.

A porta 80 é o que o seu servidor da web (Apache) está em execução. O MySQL estará em execução em uma porta diferente. Se o seu servidor MySQL estiver em execução na porta padrão, você provavelmente não precisará colocar o número da porta e o que você tem funcionará bem. Se você instalou o MySQL para executar em uma porta diferente, provavelmente precisaria colocar o número da porta.

Além disso, se você tiver o Apache em execução na porta 80, nem precisa colocar o ": 80" no URL do seu site. Como a porta 80 é a porta padrão para HTTP, o navegador usará isso automaticamente.

Outras dicas

O servidor MySQL e o servidor HTTP são programas separados em execução em sua máquina.

A porta 80 no URL pertence ao servidor HTTP, enquanto o MySQL Server, por outro lado, leva outra porta, geralmente 3306.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top