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é.