SQLSTATE Nenhum arquivo ou diretório

Estou tentando executar um projeto laravel no OS X. Instalei MySql com homebrew. Eu tentei pesquisar por que estou obtendo esse erro:

SQLSTATE[HY000] [2002] No such file or directory 

quando eu tento fazer

 php artisan migrate 

E a maioria das respostas que vejo dizem que o php e o MySql não podem se comunicar entre si. Estive tentando ver onde eu corri errado, pois acho que segui posts anteriores sobre isso e ainda não funciona. Eu criei uma página que apenas faz isso:

  

E vejo esses tipos de coisas: na área Configurar, vejo:

 '--with-mysql-sock=/tmp/mysql.sock' '--with-mysqli=mysqlnd' '--with-mysql=mysqlnd' '--with-pdo-mysql=mysqlnd' '--enable-pcntl' '--enable-zend-signals' '--enable-dtrace' 

arquivo de configuração carregado:

 /usr/local/etc/php/5.4/php.ini 

Se eu sou ls /tmp , eu vejo mysql.sock.

Nesse arquivo php.ini, eu configurei essas linhas: pdo_mysql.default_socket = / tmp / mysql.sock mysql.default_socket = /tmp/mysql.sock mysqli.default_socket = /tmp/mysql.sock

E então, em /usr/local/Cellar/mysql/5.6.16/my.cnf, adicionei a seguinte linha:

 socket = /tmp/mysql.sock 

I DID reiniciar apache, bem como verificar mysql está em execução. Não vi nenhum outro conselho além da conexão php e mysql. Eu acho que existem duas versões do php no meu sistema, porque quando eu instalei o mcrypt ou qualquer outra coisa que não consigo lembrar, ele instalou outra versão do php. Mas quando eu olho para o resultado do phpinfo, estou editando o arquivo php.ini apropriado. Eu não sabia se há outra peça na qual estou faltando. Alguma ideia? obrigado

Eu tive um erro semelhante. Estou usando MAMP e o que resolveu o meu problema foi:

  1. criando um link simbólico em: / var / mysql (crie o diretório se não existir)
  2. cd / var / mysql && sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock

Para os usuários que estão procurando uma solução no XAMPP (Testado e trabalhado no Mac OS X),

Abra o terminal e crie um link simbólico:

 sudo mkdir /var/mysql cd /var/mysql sudo ln -s /Applications/XAMPP/xamppfiles/var/mysql/mysql.sock 

Outras soluções explicadas aqui: http://pravams.com/2011/05/26/magento-pdo-exception/

Depois de pesquisar, encontrei esta publicação:

Configurando o Laravel em um erro de migration do mac php artisan: Nenhum arquivo ou diretório

Uma vez que eu adicionei

 'unix_socket' => '/tmp/mysql.sock', 

para o meu database.php na matriz mysql, funcionou. Não tenho certeza exatamente por que isso funciona, mas sim.

Eu encontrei PHP no CentOS 6 construído com mysql.default_socket=/var/lib/mysql/mysql.sock ainda por algum motivo pdo_mysql.default_socket=/tmp/mysql.sock , que não existe. Construí-lo usando --with-mysql-sock=/var/lib/mysql/mysql.sock deve forçar ambos a serem iguais.

Alternativamente, edite php.ini para conter:

 pdo_mysql.default_socket="/var/lib/mysql/mysql.sock" 

… ou a sua localização de soquete correta, é claro.

Eu reparei assim. Apenas adicione uma linha. em laravel project APP => Config => database.php atualiza o
Conexões => mysql após uma linha de linha abaixo

 'unix_socket' => "/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock" 

amostra:-

 'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', 'localhost'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, 'unix_socket' => "/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock" ], 

Isso aconteceu comigo do nada, meu aplicativo (Laravel) estava funcionando bem ontem e caiu hoje com esse erro (SQLSTATE [HY000] [2002] Nenhum arquivo ou diretório desse tipo).

Depois de verificar se o meu arquivo de configuração não estava corrompido, eu liguei para o meu painel de controle (estou usando um VPS) e reiniciado o servidor MySQL. Isso fez o truque, tudo está de volta online.

Encontrou a solução para o usuário do Ampps:
Eu tive o mesmo problema e fiz muitas buscas, mas não consegui resolver o problema até eu olhar para o meu arquivo de configuração MySql. No meu socket de arquivo de configuração estava na linha 21 e o caminho era
“/Applications/AMPPS/var/mysql.sock”

No aplicativo Ampps, clique na aba MySql e depois clique no botão de configuração.

Você também pode encontrar o arquivo de configuração na pasta “/ Applications / AMPPS / mysql / etc”

Então, simplesmente adicionei
‘unix_socket’ => ‘/Applications/AMPPS/var/mysql.sock’,
para o meu database.php na matriz mysql e funcionou para mim.
Após a linha do host. Eu testei com localhost e 127.0.0.1 e ambos trabalharam
Espero que esteja funcionando para você também.