Drush fonctionne sur MAMP, PHP 5.6.6.
À l'intérieur /Volumes/Doxy/htdocs/omegadoen/sites/all/themes/omega
Je cours:
drush omega-wizard
Je reçois:
Exception non capturée supplémentaire levée lors de la gestion de l'exception.
Original
PDOException: SQLSTATE [HY000] [2002] Aucun fichier ou répertoire de ce type dans drupal_is_denied () (ligne 1917 de /Volumes/Doxy/htdocs/omegadoen/includes/bootstrap.inc).
Additionnel
PDOException: SQLSTATE [HY000] [2002] Aucun fichier ou répertoire de ce type dans _registry_check_code () (ligne 3169 de /Volumes/Doxy/htdocs/omegadoen/includes/bootstrap.inc).
La commande Drush s'est terminée anormalement en raison d'une erreur irrécupérable. [Erreur]
Et maintenant?
Pour plus de simplicité, vérifiez drush status
Avec les paramètres détaillés et de débogage:
drush -vd status
Si vous utilisez un profil différent, n'oubliez pas de l'inclure en tant que -l http://foo
.
Si vous avez toujours un problème, c'est un problème avec le démarrage de votre Drupal.
Vérifiez d'abord votre connexion SQL si elle fonctionne:
drush sql-cli
Si ce n'est pas le cas, vérifiez vos informations d'identification de base de données dans votre fichier de paramètres Drupal.
Si c'est le cas, il y a un problème avec la connexion SQL via le socket.
Donc, dans MAMP, vous devez faire:
Vérifiez la valeur de socket
dans my.cnf (menu: Fichier/Modifier le modèle ), il est généralement défini comme suit:
socket = /Applications/MAMP/tmp/mysql/mysql.sock
Vérifiez si votre MySQL peut trouver ce fichier:
$ mysql_config --socket
/Applications/MAMP/tmp/mysql/mysql.sock
Vérifiez si votre PHP a la bonne configuration mysql.sock
:
$ php -i | grep mysql.default_socket
Reliez le socket à votre /tmp
Et voyez si cela aide:
Sudo ln -s /Applications/MAMP/tmp/mysql /var/mysql
Testez le fichier socket:
mysql --socket=/var/mysql/mysql.sock
Toujours le problème? Ajoutez le paramètre suivant dans votre $databases
:
$databases['default']['default'] = array(
// ...
'unix_socket' => '/var/mysql/mysql.sock',
drush sqlq "SELECT @@version_comment LIMIT 1"
drush ev "Database::getConnection('default', 'default');"
mysql --socket=$(php -r 'echo ini_get("mysql.default_socket");')
stat $(mysql_config --socket)
Sudo dtruss -fn mysqld
, Sous Linux avec strace
Déboguer avec XDebug:
echo '<?php xdebug_start_trace("/tmp/foo.log");' > init.php
drush -c init.php ev 'Database::getConnection("default", "default");'
xdebug.show_exception_trace=1
dans votre xdebug.ini
Vérifiez les paramètres MySQL:
echo '<?php phpinfo();' > init.php
drush -c init.php ev 'Database::getConnection("default", "default");' | grep mysql
Exécutez: php -r "new PDO('mysql:Host=localhost;port=3306;charset=utf8;dbname=dbname', 'root', 'root');"