Eu me deparei com isso de vez em quando. A explicação é que o MySQL Server está configurado para usar um arquivo de soquete em um caminho, mas
php.ini
A seção de mysqli ou pdo_mysql está procurando o arquivo de soquete em outro caminho. Isso acontece comigo mesmo que eu instale o PHP e o MySQL do MacPorts. Você pensaria que eles teriam feito as configurações para essas duas portas concordarem.
Edite seu
php.ini
para definir a localização correta do arquivo de soquete, ou então especifique o soquete quando você iniciar uma conexão com mysqli ou pdo_mysql. pdo = new PDO("mysql:dbname=test;unix_socket=/opt/local/var/run/mysql5/mysqld.sock",
"username", "password")
$mysqli = new mysqli("localhost", "username", "password", "test",
ini_get("mysqli.default_port"), "/opt/local/var/run/mysql5/mysqld.sock")
Veja também o artigo que escrevi Error2003-CantConnectToMySQLServer .