#Symfony, #MAMP et #doctrine sont dans un même bateau…
| 7
Quand on est sous MacOSX, on utilise souvent MAMP pour gérer son serveur apache et MySQL. Lorsqu’on commence à utiliser Symfony2, il faut parfois faire quelques petits réglages pour que tout se passe bien.
Préambule
Vous avez commencé à créer votre Bundle et désirez utiliser doctrine pour générer vos entités. Mais quand vous faites la commande suivante :
php console doctrine:database:create
Vous avez une belle erreur :
Could not create database for connection named `sf_formation`
SQLSTATE[HY000] [2002] No such file or directory
Il vous faut en fait faire une passerelle de var/mysql/mysql.sock
vers /Applications/MAMP/tmp/mysql/mysql.sock
Étape 1
On va se positionner dans le répertoire /var
avec la commande :
cd /var
On vérifie le contenu de ce répertoire :
ls -las
Avec cette commande, vous verrez tout le contenu du répertoire, vous verrez aussi bien, les fichiers, les répertoires et aussi les fichiers cachés. Si dans les répertoires affichés, vous avez le répertoire "mysql", passez à l’étape 3.
Étape 2
Le répertoire "mysql" est inexistant. On doit le créer avec la commande suivante :
sudo mkdir mysql
Entrez votre mot de passe puis validez.
Refaites une comande ls -las
. Vous devriez voir apparaître le répertoire "mysql" dans la liste.
Étape 3
On se positionne dans le répertoire "mysql" :
cd mysql
La phase importante de cette étape : entrez la commande suivante :
sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock mysql.sock
N’oubliez pas de mettre sudo
. Cela va vous donner les droits du super administrateur. Sans cela, vous aurez un message vous alertant (et interdisant) car vous n’avez pas les permissions adéquates.
La commande Unix ln
permet de réaliser un lien avec un autre fichier ou répertoire de 2 façons : matériel ou symbolique. En ajoutant -s
, nous utiliserons le lien symbolique.
Et voilà, on a fini avec cela !
Test final
Ré-essayez la commande :
php console doctrine:database:create
Ça devrait fonctionner maintenant.
Info supplémentaire
Est-ce que vous avez changé le timezone de votre php.ini ?
Si vous ne l’avez pas fait, aller dans /Applications/MAMP/bin/php/php5.4.4/conf/php.ini
. Recherchez "date.timezone
" (aux alentours de la ligne 549). Décommentez la ligne si nécessaire (supprimer le " ;" en début de ligne) Puis mettre "Europe/Paris".
Enregistrez votre modification. And enjoy !
Vous pouvez faire la même chose pour le fichier php.ini dans /etc/php.ini
(ça sera à la ligne 998).
Derniers commentaires
# Le 18 novembre 2019 à 14:51, par Teddy Payet
En réponse à : Plugin « Info SPIP »
# Le 18 novembre 2019 à 14:17, par Rakoto Terminaor
En réponse à : Plugin « Info SPIP »
# Le 19 septembre 2019 à 17:15, par spipfactory
En réponse à : Lister les pages de configuration
# Le 14 août 2019 à 21:16, par Neomars
En réponse à : MagicMirror², un miroir qui vous veut du bien.
# Le 13 mars 2019 à 17:42, par Manu
En réponse à : MagicMirror², on recommence depuis le début
# Le 5 mars 2019 à 10:46, par Teddy Payet
En réponse à : MagicMirror², on recommence depuis le début