Aujourd’hui, je fais un peu de code pour le site de Buroscope, entre autre chose, j’attaque la partie administration et la gestion des droits d’accès au « backend ».

Je lance un petit :
cake bake all dans le terminal pour générer mes fichiers par défaut (model / controller / vues).

Et là c’est le drame, que des erreurs dans mon terminal argggghhhhh !!!!

Bon c’est vrai j’ai fait une « ré-install » complète de mon mac le WE dernier, mais quand même, pourquoi cela ne marche pas ^^

Le bloc d’erreur en question :

Warning: mysql_connect(): No such file OR directory (trying TO connect via unix:///tmp/mysql.sock) IN /Applications/MAMP/htdocs/blog/cake/libs/model/datasources/dbo/dbo_mysql.php ON line 117

Warning: mysql_select_db(): supplied argument IS NOT a valid MySQL-Link resource IN /Applications/MAMP/htdocs/blog/cake/libs/model/datasources/dbo/dbo_mysql.php ON line 122

Warning: mysql_get_server_info(): supplied argument IS NOT a valid MySQL-Link resource IN /Applications/MAMP/htdocs/blog/cake/libs/model/datasources/dbo/dbo_mysql.php ON line 130

Warning: mysql_query(): supplied argument IS NOT a valid MySQL-Link resource IN /Applications/MAMP/htdocs/blog/cake/libs/model/datasources/dbo/dbo_mysql.php ON line 154

Error: Your DATABASE does NOT have any TABLES.

Bon j’ai commencé par chercher après l’erreur CakePHP Warning: mysql_connect():, Mais évidemment je n’ai rien trouvé, car le problème ne viens pas de CakePhp, mais d’un problème venant de MAMP.

J’ai fini finalement par trouver le problème et sa solution. Le problème réside simplement dans la manière dont est configuré MAMP. Il créé le fichier mysql.sock dans un emplacement propre à lui au démarrage et le supprime à l’arrêt.

Méthode N°1 : Faire un lien symbolique (temporaire)

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

Ceci est temporaire car le lien symbolique est automatiquement supprimé au moment ou MAMP supprime son propre fichier temporaire mysql.sock.

Méthode N°2 : Changer la configuration de MAMP (permanent)

Éditer les fichiers de configuration suivants :

/Applications/MAMP/bin/startMysql.sh and

/Applications/MAMP/bin/stopMysql.sh

Remplacer

socket=/Applications/MAMP/tmp/mysql/mysql.sock

par

socket=/tmp/mysql.sock

Ceci fourni une solution permanente, j’espère que cela vous aura aidé.

Attention, il suffit simplement à la place de localhost de renseigner 127.0.0.1. ^^