web-dev-qa-db-ja.com

Drupal 7.2でDrush 4.4を実行すると致命的なエラー

Drush w/Drupal 7.2(Drupal 7.0)でうまく機能した)でこのエラーを引き起こしている原因について何か考えがありますか?

致命的なエラー:/path/to/includes/database/mysql/database.incの42行目の未定義のクラス定数 'MYSQL_ATTR_USE_BUFFERED_QUERY'
回復できないエラーのため、Drushコマンドが異常終了しました。 [エラー]エラー:/path/to/includes/database/mysql/database.incの未定義のクラス定数 'MYSQL_ATTR_USE_BUFFERED_QUERY'、42行

Database.incの行42には、次の行が含まれています。

PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => TRUE,

これはPDO拡張機能がないことに関連していると思いましたが、実際にインストールされています。

drush -v -d statusの出力は次のとおりです。

drush -d -v status
フェーズ0へのブートストラップ。[0.03秒、1.28 MB] [ブートストラップ]
Drush bootstrap phase:_drush_bootstrap_drush()[0.03 sec、1.41 MB] [bootstrap]
Drush bootstrap phase:_drush_bootstrap_drupal_root()[0.07 sec、3.18 MB] [bootstrap]
初期化済みDrupal/path/toの7.2ルートディレクトリ[0.09秒、4.06 MB]] [通知]
Drush bootstrap phase:_drush_bootstrap_drupal_site()[0.09 sec、4.06 MB] [bootstrap]
初期化済みDrupalサイトのデフォルトのサイト/デフォルト[0.09秒、4.06 MB]] [通知]
Drush bootstrap phase:_drush_bootstrap_drupal_configuration()[0.09 sec、4.06 MB] [bootstrap]

Fatal error: Undefined class constant 'MYSQL_ATTR_USE_BUFFERED_QUERY' in /path/to/includes/database/mysql/database.inc on line 42
Drush command terminated abnormally due to an unrecoverable error.                                                                                                                    [error]
Error: Undefined class constant 'MYSQL_ATTR_USE_BUFFERED_QUERY' in /path/to/includes/database/mysql/database.inc, line 42 [0.1 sec, 4.56 MB]

[〜#〜]編集[〜#〜]

phpinfoは、pdo、pdo_mysqlがすべてインストールされていることを示しています。ただし、実行すると

pecl remote-info pdo(およびpdo-mysql)、私は(とりわけ)を取得します:

インストール済み-いいえ-

そのため、Webリクエストを介して、拡張機能はインストールされているように見えますが、コマンドラインからは見えません(phpの同じインスタンス、v5.3)。 phpinfoがすでに知っていることをpeclに伝える方法はありますか?

2
KM.

「学習体験」列のもう1つ:

指定した

DRUSH_PHP=/path/to/php

drushラッパースクリプトのこの行の直前:

if [ ! -z "$DRUSH_PHP" ] ; then

現在動作します。

あなたの時間と入力をありがとう@kiamlalunoと@Berdir。うまくいけば、これは他の人を助けます。

KM

4
KM.

Pdo_mysql拡張が欠落している可能性があります。これは、pdoとmysql/mysqli(実際にはDrupal 7には必要ありません)だけでなく、Drupal 6またはそれを使用する他のプロジェクト)。

有効なモジュールは次のようにして確認できます。

php -m

PDOとPDO_mysqlの両方がリストされていることを確認してください。リストされていない場合は、有効化/インストールしてください。

3
Berdir

Drupal.orgに問題レポートがあります D7での致命的なエラーHEAD 。OPは同様のエラーを報告します。
php_pdo_mysql拡張機能をインストールすると、1人のユーザーがエラーを修正できると報告しています。別のユーザーは、Ubuntu 10.10でphp5-mysqlをインストールする必要があると報告しています。

1
kiamlaluno