J'ai installé Drush 7 à l'aide de Composer et j'ai créé un Drupal 8 fonctionnant sur XAMPP sous Windows.
Aucune des commandes drush ne fonctionne. Tous échouent avec la même erreur:
H:\xampp\htdocs\d8_test>drush pmi
Command pm-info needs a higher bootstrap level to run - you will need [error]
to invoke drush from a more functional Drupal environment to run this
command.
The drush command 'pmi' could not be executed. [error]
Drush was not able to start (bootstrap) the Drupal database. [error]
Hint: This may occur when Drush is trying to:
* bootstrap a site that has not been installed or does not have a
configured database. In this case you can select another site with a
working database setup by specifying the URI to use with the --uri
parameter on the command line. See `drush topic docs-aliases` for
details.
* connect the database through a socket. The socket file may be
wrong or the php-cli may have no access to it in a jailed Shell. See
http://drupal.org/node/1428638 for details.
Drush was attempting to connect to:
Drupal version : 8.0-dev
Site URI : http://default
Database driver : mysql
Database username : root
Database name : d8_test
PHP executable : php.exe
PHP configuration : H:\xampp\php\php.ini
PHP OS : WINNT
Drush version : 7.0-dev
Drush temp : Z:\Temp
directory
Drush configuration :
Drush alias files :
Drupal root : H:/xampp/htdocs/d8_test
Site path : sites/default
Active config path : sites/default/files/config_MoeSD5C7JSguok
xrBh4-UuwT_r9_jk2Z59QKdN-j9Zx9DIgHBy2dH8n
1rGOeKNJpaAAxBi4PzA/active
Staging config path : sites/default/files/config_MoeSD5C7JSguok
xrBh4-UuwT_r9_jk2Z59QKdN-j9Zx9DIgHBy2dH8n
1rGOeKNJpaAAxBi4PzA/staging
Contenu de mes settings.php
$databases['default']['default'] = array (
'database' => 'd8_test',
'username' => 'root',
'password' => '',
'prefix' => '',
'Host' => '127.0.0.1',
'port' => '3306',
'namespace' => 'Drupal\\Core\\Database\\Driver\\mysql',
'driver' => 'mysql',
);
Notez que l'hôte de mon installation MySQL est 127.0.0.1 au lieu de localhost.
Notez également que H:\xampp\php\est ajouté à ma variable PATH, donc php.exe fait référence à H:\xampp\php\php.exe.
La sortie de drush sql-connect
est le suivant:
mysql --user = root --password = --database = d8_test --Host = 127.0.0.1 --port = 3306
La sortie de drush sql-connect
est mysql --user=root --password= --database=d8_test --Host=127.0.0.1 --port=3306
. Maintenant, lorsque j'exécute directement cette commande, cela n'a pas fonctionné car mysql.exe
n'était pas là dans le système PATH. J'ai donc ajouté H:\xampp\mysql\bin
à PATH
(variable d'environnement dans Windows) et puis ça a marché!
Assurez-vous que le paquet mysql-client-core-5.5 est installé.
Sur Ubuntu:
Sudo apt-get install mysql-client-core-5.5