これは、Composerを使用してDrupalをインストールする最初の試みです。Composerと Drupal Project テンプレートが正常にインストールされました) Drushを使用します。インストールするには、
composer create-project drupal-composer/drupal-project:~8.0 {dir} --stability dev --no-interaction
次に、Drupalをインストールしようとすると、Drushを使用して
../vendor/bin/drush site-install --db-url=mysql://{username}:{password}@localhost/{database}
このエラーが表示されます
Error: Class 'Drush\Sql\Sql' not found in /Users/.../vendor/drush/drush/src/Sql/SqlBase.php on line 81
Drushをインストールし、Composerをローカルでインストールしました。composerをインストールした後、drushを再度要求しました。Drush9.2.3を使用しようとしました。 Drupalの手動インストールを実行すると、Drush initは実行されますが、バージョン以外の他のコマンドを使用すると、
In Connection.php line 149:
SQLSTATE[HY000] [2002] No such file or directory
私が使用しています:
パスワードに#が含まれていますか?このテストを試してください:
<?php
function test_url($url) {
$message = (parse_url($url) === false)?"parse_url unable to parse url:
{$url}\n":print_r(parse_url($url),true);
echo $message;
}
test_url("mysql://user:password@site/database_name");
test_url("mysql://user:C0mPl3XP4ss@site/database_name");
test_url("mysql://user:Ci)(*$!@@site/database_name");
test_url("mysql://user:pass#Word@site/database_name");
?>
最後のURLの例は解析されません。これはから来ているようです
vendor/drush/drush/src/Sql/SqlBase.php:dbSpecFromDbUrl().
同じ問題が発生し、MySQLユーザーパスワードの「#」までたどりました。パスワードを変更して「#」を削除すると、すべてが機能します。
Windows 10でも同様の問題がありました。Drushをグローバルとローカルの両方にインストールしていたため、最初は問題の原因がわからなかったのです。 Drushをグローバルにアンインストールした後、Drushがもう見つからないことに気付きました。ローカルドラッシュをPATHに追加した後、ようやくサイトインストールコマンドを起動できました。