Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Erro ao ler o banco de dados

Olá, estou recebendo uma excessão quando tento rodar com banco de dados:

PDOException in Connector.php line 47: SQLSTATE[HY000] [2002] No such file or directory

já reiniciei o artisan, após ter colocado os nomes da database no env e no database.php. O que fazer?

5 respostas

A mensagem de erro indica que uma conexão MySQL via soquete é tentada (o que não é suportado).

No contexto de Laravel (artesão), você provavelmente quer usar um ambiente diferente / correto. Ex .: php artisan migrate --env = produção (ou qualquer ambiente).

Gustavo, você pode prover mais detalhes? Você está utilizando qual banco (sqlite, mysql...)? Como está seu arquivo .env?

solução!

Essa dica do Guilherme Pichok resolveu o problema:

Existe uma diretiva mysql para quem usa xampp 'unix_socket' => "/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock"

https://cursos.alura.com.br/forum/topico-conexao-mysql-25745

http://stackoverflow.com/questions/22188026/sqlstatehy000-2002-no-such-file-or-directory/33514814#33514814

Gustavo, só para deixar mais uma solução aqui, no arquivo database.php você pode mudar para o seguinte:

de: 'host' => env('DB_HOST', 'localhost')

para: 'host' => env('DB_HOST', '127.0.0.1')

Assim pode ser que funcione sem ter que alterar mais alguma config, no meu funcionou =)

Abraços.

Talvez seja algum BUG da versão. Então, 1. abre o arquivo; 2. organiza as linhas, porque está tudo junto,; 3. salva; 5. reinicia o servidor PHP.

O arquivo .env, fica na raiz do projeto. o meu está assim:

APP_ENV=local 
APP_DEBUG=true 
APP_KEY=xfdY60Y3y8R2HY3EiXHqhYC6IawvIuWj


DB_HOST=localhost
 DB_DATABASE=homestead       
DB_USERNAME=homestead
 DB_PASSWORD=secret



CACHE_DRIVER=file
 SESSION_DRIVER=file

Pela web, eu vi alguns conselhos pedindo pra trocar o "homestead" da seguinte forma:

DB_HOST=localhost
 DB_DATABASE= estoque_laravel
DB_USERNAME= root
 DB_PASSWORD= root (se tiver senha)

Enfim, fiz várias mudanças e nada deu certo, dai voltei o arquivo pra configuração default. Mas assim que fechei e reiniciei o servidor resolveu.