web-dev-qa-db-ja.com

Drushがデータベースにbootstrap

Drushを適切に動作させることができません。

1)Drushでモジュールとテーマをダウンロードできますが、有効にできません(詳細は以下を参照)。 2)また、リストにあるオメガコマンドも使用できません(詳細は以下を参照)。

=インストール済みComposer&Drush docs.drush.org/en/master/install/のようにDrushがコンピュータに適切にインストールされています。drushバージョンを入力すると、次のようになります。Drushバージョン:7.0 -dev

私のシステムセットアップ:Linux mint 17 KDE with Xampp 1.8.3-4

DrushがDrupalデータベースを開始(ブートストラップ)できなかったため、(部分的に?)問題が発生したと思います。そのため、コマンドラインからmysqlを実行します。

user@mylaptop:/opt/lampp/htdocs/drush/sites/all/modules > mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

私のシステムではmysqld.sockは別の場所、つまり/opt/lampp/var/mysql/mysql.sockにあります。/var/run/mysqld /にシンボリックリンクを作成しましたが、これは効果がありません。まだ同じ問題があります。おそらく権限が原因ですか?

私は(欲求不満から抜け出さなければならなかった)数日を費やして過ごしましたが、私は一生懸命働くことができません。

問題の詳細:1)Drushでモジュールとテーマをダウンロードできますが、有効にできません。

user@mylaptop:/opt/lampp/htdocs/drush/sites/all/modules > drush en disqus
Command pm-enable needs a higher bootstrap level to run - you will need to invoke [error]
drush from a more functional Drupal environment to run this command.
The drush command 'en disqus' 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 drupal.org/node/1428638 for details.
Drush was attempting to connect to:
Drupal version : 7.34
Site URI : http://default
Database driver : mysql
Database hostname : localhost
Database port :
Database username : root
Database name : drush
PHP executable : /usr/bin/php
PHP configuration : /etc/php5/cli/php.ini
PHP OS : Linux
Drush version : 7.0-dev
Drush temp directory : /tmp
Drush configuration :
Drush alias files :
Drupal root : /opt/lampp/htdocs/drush
Site path : sites/default

追加したとき

'Host' => php_sapi_name() == 'cli' ? '127.0.0.1' : 'localhost',

または:

'Host' => '127.0.0.1',

このようにsettings.phpに post 次のエラーが発生します:

user@mylaptop:/opt/lampp/htdocs/drush/sites/all/modules > drush en disqus
PHP Fatal error: Undefined class constant 'MYSQL_ATTR_USE_BUFFERED_QUERY' in /opt/lampp/htdocs/drush/includes/database/mysql/database.inc on line 46
Drush command terminated abnormally due to an unrecoverable error. [error]
Error: Undefined class constant 'MYSQL_ATTR_USE_BUFFERED_QUERY' in
/opt/lampp/htdocs/drush/includes/database/mysql/database.inc, line 46

2)また、リストにあるオメガコマンドも使用できません。

user@mylaptop:/opt/lampp/htdocs/drush/sites/all/modules > drush help --filter=omega
All commands in omega: (omega)
omega-export (oexp) Exports the theme settings of a given theme from the database to the
.info file.
omega-guard (ogrd) Runs guard for the given theme including Compass and LiveReload by
default.
omega-revert (orev) Reverts the theme settings of a given theme by deleting them from the
database.
omega-subtheme Creates a Omega subtheme.
(osub)
omega-wizard (owiz) Guides you through a wizard for generating a subtheme
2
Jasper

OK私はdrushを使っています:)同様の問題を抱えている可能性のある他の人々のために(私が正しい用語を使うことを願っています):

Linuxに「php5-mysql」(および依存関係)を(たとえば「シナプスパッケージマネージャー」を介して)インストールする必要がありました。php5-mysqlは、mysql PDOサポートを含むPHP5のMYSQLモジュールです。これにより、モジュールを有効にしてomegaコマンドを使用することができました。 DrushはLinuxにインストールされ、XammpではなくPHPを使用します。このモジュールはXamppにありましたが、Linuxにはありません。

端末で「drush status」と入力すると、drushがどのphp.iniファイルを使用しているかを確認できます。

drupalサイトのadmin/reports/statusに移動すると、どのphp.iniファイルがWebサーバーで使用されているかを確認できます。次に、DrupalのステータスページのPHPセクションにある[詳細]リンクをクリックします。これはphpinfo()ページを示しています。構成ファイル(php.ini)を見つけます。

Mysql PDOサポートがインストールされていることを確認するには( "php5-mysql"の一部)、ターミナルで次のように入力します。php -i | grep PDOサポートがインストールされている場合は、次のように表示されます。PDO PDO support => enabled PDOドライバー=> MySQLのmysql PDOドライバー=>有効

3
Jasper