解決 drush PDOException: SQLSTATE[HY000] [2002]

今天在Mac OS中安裝Drush時遇到一個錯誤。

Drush command terminated abnormally due to an unrecoverable error. [error]
<h1>Additional uncaught exception thrown while handling exception.</h1>
<h2>Original</h2>
<p>PDOException: SQLSTATE[HY000] [2002] No such file or directory in drupal_is_denied() (line 1915 of /Applications/rubystack/apps/drupal/htdocs/includes/bootstrap.inc).</p>
<h2>Additional</h2>
<p>PDOException: SQLSTATE[HY000] [2002] No such file or directory in system_list() (line 165 of /Applications/rubystack/apps/drupal/htdocs/includes/module.inc).</p><hr />

Process finished with exit code 1 at 17:04:06.
Execution time: 221 ms.

這個問題錯誤主要時PDOException: SQLSTATE[HY000] [2002]來自MySQL連接上。

解決方法

在Drupal的默認settings.php文件中加入mysql 加入unix_socket。

array (
'database' => 'demo_drupal',
'username' => 'root',
'password' => '',
'host' => 'localhost',
'port' => '3309',
'unix_socket' => '/Applications/rubystack/mysql/tmp/mysql.sock',
'driver' => 'mysql',
'prefix' => '',
)

檢查drush是否正常工作,只需輸入drush status來讀取信息正常,就說明安裝成功了。

如下演示:

lixideMacBook-Pro:htdocs lixi$ /Users/lixi/drush/drush status
Drupal version                  :  7.25
Site URI                        :  http://default
Database driver                 :  mysql
Database username               :  root
Database name                   :  demo_drupal
Database                        :  Connected
Drupal bootstrap                :  Successful
Drupal user                     :
Default theme                   :  bartik
Administration theme            :  seven
PHP executable                  :  /usr/bin/php
PHP configuration               :
PHP OS                          :  Darwin
Drush version                   :  7.0-dev
Drush configuration             :
Drush alias files               :
Drupal root                     :  /Applications/rubystack/apps/drupal/htdocs
Site path                       :  sites/default
File directory path             :  sites/default/files
Temporary file directory path   :  /Applications/rubystack/php/tmp

 Drush 升級 Drupal

使用drush up命令來升級drupal。

lixideMacBook-Pro:htdocs lixi$ /Users/lixi/drush/drush up
Name Installed Version Proposed version Message
Drupal 7.25 7.26 SECURITY UPDATE available

Update information last refreshed: Sun, 01/19/2014 – 13:58
Code updates will be made to drupal core.
WARNING: Updating core will discard any modifications made to Drupal core files, most noteworthy among these are .htaccess and robots.txt. If you have made any modifications to these files, please back them up before updating so that you can re-create your modifications in the updated version of the file.
Note: Updating core can potentially break your site. It is NOT recommended to update production sites without prior testing.

Do you really want to continue? (y/n): y
Project drupal was updated successfully. Installed version is now 7.26.
Backups were saved into the directory [ok]
/Users/lixi/drush-backups/bitnami_drupal7/20140120095445/drupal.
Taxonomy 7011 Drop unpublished nodes from the index.
Do you wish to run all pending updates? (y/n): y
Performed update: taxonomy_update_7011 [ok]
‘all’ cache was cleared. [success]
Finished performing updates. [ok]

更多使用drush的方法,請查看官方API或者本博客的其他文章。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章