4

初めてDrushをセットアップしようとしています。Mamp と Mountain Lion を使用しています。ターミナルに「drush」と入力すると、コマンドのリストが表示されるので、問題なくインストールされているようです。

MAMP のデフォルトの Web ディレクトリ フォルダーを変更しました。Web ディレクトリ内のフォルダー内に多くの Drupal サイトがあります。したがって、あるサイトの URL は でhttp://localhost:8888/omega/omegav3/、別のサイトの URL はhttp://localhost:8888/omega/omegav4/

ターミナルでサイト フォルダに移動すると、Drush コマンドを実行できますが、エラーが発生します。Views をダウンロードすると、モジュールが sites/all/modules フォルダーに正しくダウンロードされますが、いくつかのエラーが発生します。モジュールを有効にしようとすると、さらにエラーが発生し、モジュールが有効になりません。

unknown:omegav3 MYUSERNAME$ cd /Users/MYUSERNAME/Dropbox/sites/omega/omegav3 
unknown:omegav3 MYUSERNAME$ drush dl views
PDO::__construct(): [2002] No such file or directory (trying to connect via           [warning]
unix:///var/mysql/mysql.sock) environment.inc:523
Project views (7.x-3.7) downloaded to sites/all/modules/views.                        [success]
Project views contains 2 modules: views, views_ui.
unknown:omegav3 MYUSERNAME$ 
unknown:omegav3 MYUSERNAME$ drush en views
PDO::__construct(): [2002] No such file or directory (trying to connect via           [warning]
unix:///var/mysql/mysql.sock) environment.inc:523
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 views' 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         :  7.23                                             
 Site URI               :  http://default                                   
 Database driver        :  mysql                                            
 Database username      :  root                                             
 Database name          :  omegav3                                          
 Default theme          :  garland                                          
 Administration theme   :  garland                                          
 PHP executable         :  /usr/bin/php                                     
 PHP configuration      :                                                   
 PHP OS                 :  Darwin                                           
 Drush version          :  6.1.0                                            
 Drush configuration    :                                                   
 Drush alias files      :                                                   
 Drupal root            :  /Users/MYUSERNAME/Dropbox/sites/omega/omegav3 
 Site path              :  sites/default                                    
 File directory path    :  sites/default/files                              


unknown:omegav3 MYUSERNAME$ 

Drush と MySQL の問題のようですが、これを修正する方法がわかりません。私はコマンドラインに非常に慣れておらず、以前に Drush のようなものをインストールしたことがないので、本当に苦労しています。

4

5 に答える 5

5

私は Drush にまったく慣れていないということから始めましょう。しかし、これを MAMP の観点から見ると、ここで何が起こっているかがわかると思います。

ライン PDO::__construct(): [2002] No such file or directory (trying to connect via [warning] unix:///var/mysql/mysql.sock) environment.inc:523はそれをすべて言います。

デフォルトでは/Applications/MAMP/tmp/mysql/mysql.sock、MAMP は MAMP 起動ページに記載されているように MySQL ソケットを作成しています。ただし、Drush は でソケットを予期していますvar/mysql/mysql.sock

さて、これを修正するには2つの方法があります。

  1. すべての MAMP サーバーを停止します。ファイルを編集し/Applications/MAMP/bin/startMysql.sh、に変更--socket=/Applications/MAMP/tmp/mysql/mysql.sock--socket=/var/mysql/mysql.sockます。また、stopMysql.sh も編集することを忘れないでください。これにより、次回Mysqlサーバーを起動するときにソケットを別の場所に保存するようにMAMPに指示します。

  2. シンボリック リンクの詳細については、この投稿を表示/var/mysql/mysql.sockする/Applications/MAMP/tmp/mysql/mysql.sockためのシンボリック リンクを作成してください。ソケット ファイルは動的に作成されるため、これを行うには MAMP を実行する必要があります。

幸運を!

于 2013-10-13T10:17:39.930 に答える
3

私は同じ問題を抱えていました-解決したのは、settings.phpのデータベースホストを「localhost」から「127.0.0.1」に変更することでした。

于 2014-07-21T09:48:14.497 に答える
3

私にとって、mysql bin は存在しませんでした。

sudo ln -s /Applications/MAMP/Library/bin/mysql /usr/bin/mysql

私のためにそれを修正しました。

于 2014-10-09T10:47:25.143 に答える
1

これは私のために働いた

sudo mkdir /var/mysql sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock /var/mysql/mysql.sock

于 2014-01-22T11:44:02.080 に答える