Gli sviluppatori CakePHP che volessero utilizzare il comodo script “bake” su di una LAMP realizzata con MAMP si trovano di fronte ad un errore di connessione con il server db:

---------------------------------------------------------------
Bake Model
Path: /Users/peg/Sites/cake12/app/models/
---------------------------------------------------------------

Warning: mysql_connect(): Can't connect to local MySQL server through socket
'/var/mysql/mysql.sock' (2) in
/Users/peg/Sites/cake12/cake/libs/model/datasources/dbo/dbo_mysql.php on line 370

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in
/Users/peg/Sites/cake12/cake/libs/model/datasources/dbo/dbo_mysql.php on line 375

Warning: mysql_get_server_info(): supplied argument is not a valid MySQL-Link resource in
/Users/peg/Sites/cake12/cake/libs/model/datasources/dbo/dbo_mysql.php on line 383

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in
/Users/peg/Sites/cake12/cake/libs/model/datasources/dbo/dbo_mysql.php on line 407

Error: Your database does not have any tables.

Questo problema è dovuto al fatto che viene utilizzato il socket mysql di default presente nel sistema OSX (evidenziato in grassetto nel codice precedente).

La soluzione a questo problema è modificare la configurazione della connessione database di CakePHP aggiungendo la seguente definizione per la porta:

'port' => '/Applications/MAMP/tmp/mysql/mysql.sock'

Così facendo si forza l’utilizzo del server MySQL installato da MAMP e gestibile mediante i classici strumenti del pacchetto.

Diventa dunque possibile utilizzare lo script bake!