PHP não usa sockets padrão do MySQL

1

Estou tendo dificuldade em entender por que o PHP não pode se conectar com localhost como host. Posso conectar fazendo:

mysql -uroot -p

E também, através do Sequel Pro, posso me conectar com o host local como um host. Mas com o PHP, eu recebo:

Warning: mysqli_connect(): (HY000/2002): No such file or directory

Tenho certeza que é por causa dos sockets, porque se eu tentar mudar para 127.0.0.1 ele funciona.

Por que o host não funciona?

    
por John 21.04.2016 / 23:23

1 resposta

0

O PHP está tentando usar um soquete diferente daquele em que o MySQL está escutando.

Para ver em qual socket o MySQL está escutando, execute:

 mysqld --verbose --help|grep ^socket

socket /var/run/mysqld/mysqld.sock

Para ver o soquete que o PHP tenta usar, você pode verificar a saída do script <?php phpinfo(); ?> , é variável mysqli.default_socket . Você pode alterá-lo no seu arquivo php.ini (geralmente em /etc/php5/apache2/ ).

    
por 15.06.2016 / 10:32