CakePHP su MacOS X con MAMP: la console

0 Flares 0 Flares ×

Dopo aver concluso una prima fase di studio di questo stupendo framework, ho deciso di velocizzare i tempi di scrittura di un’applicazione facendo ricorso alla console e al tool di automatizzazione del codice.

In pratica, parimenti a Symfony e Django, CakePHP dà allo sviluppatore la possibilità di leggere il database e generare le classi relative a controller, modelli e quanto altro. Un comodo aiuto.

Ora, lavorando su MacBook e adorando MAMP, al primo comando impartito al mio terminale ho subito registrato una serie di errori. La console non riesce a lavorare sul database. Il motivo è semplice se si legge il primo errore stampato a schermo:

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

In pratica non trova il socket di MySQL e ne ha tutte le ragioni. Usando MAMP infatti tutti gli strumenti di sviluppo web sono riferiti alla directory principale di MAMP. Come far funzionare la console di CakePHP allora?

Le soluzioni che mi sono venute in mente sono due. La documentazione relativa alla configurazione del database non suggerisce nulla, quindi o mettiamo mano al codice di CakePHP o aggiriamo il problema in modo meno elegante ma sufficientemente efficace. Ho scelto la seconda via.

Creiamo un collegamento banale al socket sfruttato da MAMP nella posizione dove il framework pensa di trovare il socket di MySQL e cioè:

sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock /var/mysql/mysql.sock

Ovviamente la directory /var/mysql va creata prima di lanciare il precedente comando. Fatto ciò tutto lavorerà a meraviglia.

0 Flares Twitter 0 Facebook 0 Google+ 0 LinkedIn 0 Buffer 0 Email -- 0 Flares ×

1 Comment CakePHP su MacOS X con MAMP: la console

  1. Pingback: Il punto della settimana #35 | Francesco Corsentino .net

Lascia il tuo commento

Tranquillo: la tua email non verrà pubblicata.

Puoi usare i seguenti tag HTML e attributi: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>