php mysql symfony1 doctrine mamp

php - Error de conexión de PDO al usar Symfony y MAMP



mysql symfony1 (4)

Obteniendo un error de PDO al intentar hacer la php symfony doctrine:insert-sql
El error que recibo:

Warning: PDO::__construct(): [2002] Connection refused (trying to connect via tcp://127.0.0.1:3306) in /Users/johannes/Programmering/PHP/htdocs/symfony/sfprojects/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php on line 470

databases.yml

all: doctrine: class: sfDoctrineDatabase param: dsn: mysql:host=127.0.0.1;dbname=jobeet; username: root password: root

Hacer un mysql -u root -p jobeet con "root" como contraseña me da acceso, así que no hay problema. Y sí, el mysql que corro es de MAMP.

Gracias por cualquier ayuda.


Se ve bien Aquí sería el equivalente exacto de una base de datos en funcionamiento.yml que estoy usando, en caso de que sea de alguna utilidad:

dsn: ''mysql:host=localhost;dbname=jobeet''


MAMP por defecto no permite conexiones TCP. Puede activarlo o usar enchufes.

Cambiar su dsn como lo sugiere @Tom debería solucionar sus problemas. Es extraño como es, pero el uso de localhost en lugar de 127.0.0.1 hace que mysql se conecte a través de sockets.

http://dev.mysql.com/doc/refman/5.0/en/connecting.html :

En Unix, los programas de MySQL tratan el nombre de host localhost especialmente, de una manera que probablemente sea diferente de lo que espera en comparación con otros programas basados ​​en red. Para las conexiones a localhost, los programas de MySQL intentan conectarse al servidor local utilizando un archivo de socket Unix. Esto ocurre incluso si se proporciona una opción --port o -P para especificar un número de puerto. Para asegurarse de que el cliente realiza una conexión TCP / IP con el servidor local, use --host o -h para especificar un valor de nombre de host de 127.0.0.1, o la dirección IP o el nombre del servidor local. También puede especificar el protocolo de conexión explícitamente, incluso para el host local, utilizando la opción --protocol = TCP.


Tuve el mismo error al intentar construir mis tablas en Symfony y usar MAMP. Solucioné el problema cambiando mi línea dsn, en el archivo databases.yml, a lo siguiente:

dsn: ''mysql:host=localhost;dbname=jobeet;unix_socket=/Applications/MAMP/tmp/mysql/mysql.sock''


MAMP PRO 2.x
Pude resolver esto y muchos problemas similares simplemente desmarcando "Permitir acceso local solamente" en las preferencias de MySQL en el panel de control de MAMP.

MAMP PRO 3.x
Como dijo Kendrick :