web-dev-qa-db-ja.com

WSOD(空白ページ)があるときにモジュールを有効にする方法は?

使用例:必要なモジュールを有効にせずに、モジュールを有効にしました。モジュールページで構成を保存しました。次の画面が表示されました- enter image description here

[続行]をクリックすると、WSOD(空白ページ)が表示されます。

ルートディレクトリのindex.phpにエラーレポートのphpコードを追加しました。致命的なエラーが表示されました-致命的なエラー:/mysite/sites/all/modules/i18n/i18n_variable/i18n_variable.moduleの54行目の未定義の関数variable_realm_switch()への呼び出し

WSODのため、必要なモジュールを有効にするために管理ページに戻ることができません。コードからモジュールを有効にする方法はありますか?モジュールに関連付けられたデータが失われるため、このエラーに関連するモジュールを削除できません。

2
designplusdev

PhpMyAdminまたは他のデータベース管理ソフトウェアを使用して(または、それに慣れている場合は、コマンドラインmysqlを使用して)、systemテーブルで有効または無効にするモジュールの名前を見つけます。そのモジュールのstatusを、無効の場合は0に、有効の場合は1に設定します。

mysqlコマンド:

UPDATE  `database_name`.`system` SET  `status` =  '1' WHERE  `system`.`name` =  'module_name';

phpMyAdminスクリーンショット:

Drupal system table in phpMyAdmin with status column highlighted

サーバーに Drush をインストールすることもお勧めします。これにより、コマンドラインからモジュールの有効化/無効化、キャッシュのクリアなどのコマンドを実行できるようになります。これは、WSODが原因でDrupal adminにアクセスできない場合に非常に便利です。

7
sheena_d