domingo, 7 de marzo de 2010

CakePHP, MAMP y el socket de Mysql (actualizado)

Actualización

Como comenta Nigeon, basta con poner el path al socket en el parámetro port de la configuración de la conexión.

Al que, por cierto, viene documentado en el manual.


'connect' => 'mysql_connect',
'host' => 'localhost',
'port' => '/Applications/MAMP/tmp/mysql/mysql.sock',


Dejo la entrada anterior porque puede ser útil en algunos casos.

En una entrada anterior ya he comentado el tema de como ajustar las cosas para que CakePHP pueda comunicarse con Mysql. Para ello, hay que crear un enlace simbólico del socket /Applications/MAMP/tmp/mysql/mysql.sock en el lugar adecuado, que en el artículo señalado era /var/mysql/mysql.sock.

Hace poco, tras varias actualizaciones los shells empezaron a "pedir" un socket en /tmp/mysql.sock, por lo que creé un nuevo enlace, pero olvidé la opción -s y creé un enlace duro en lugar de simbólico.

Pues bien, que sepas que los enlaces duros no valen para el caso y los shells no eran capaces de conectar a la base de datos. Ha sido cambiarlo a enlace simbólico y volver a funcionar todo como es debido.

Por su parte, la aplicación web se conectaba perfectamente.

4 comentarios:

Unknown dijo...

otra opcion es poner el parámetro "port" en el database.php con el numero de puerto "/Applications/MAMP/tmp/mysql/mysql.sock" y en host.. pos "localhost"

dewwww

Anónimo dijo...

Tengo que probar eso, que no tenía ni idea.

Obelich dijo...

Hola que tal, saludos y felicitaciones sobre su blog son pocos los que hay sobre cakephp en español o si hay los encuentra abandonados, bueno el presente mensaje es para solicitarle un tutorial sobre como aplicar ACL en cakephp 1.2 pero sin usar la linea de comandos, yo uso Opensuse + PostgreSQL, e buscado por la red pero todos hacen referencia a la consola y siempre sobre mysql, bueno andamos en contacto ya me e suscrito a su blog y estare al pendiente, tambien comparto sus tutos por medio de google reader asi que espero que esto atraiga a mas gente a visitar su blog

Anónimo dijo...

Pues el que conozco es este que es el "oficial"