web-dev-qa-db-ja.com

コアインストールプロファイルを無効にするにはどうすればよいですか?

インストールプロファイルのアンインストールを許可しない インストールプロファイルのアンインストールを許可する 問題があります。 D7でこれを行う方法はありますか? (必要に応じてもう少し努力してください。)

D7をインストールするときは、通常、インストールプロファイルを選択する必要があります。これは、Drupalコアと共に出荷される「標準」プロファイルである可能性があります。インストールされると、インストールプロファイルは、それを無効にする明白な方法なしで、「システム」テーブルに永久に置かれます。

インストールプロファイルを無効にするためのもっとハッキーな方法はありますか?.

質問と承認された回答をさらに調和させるために、質問を次のように拡張します。インストールプロファイルを無効にできない、または無効にできない場合は、少なくとも置換できますか?

6
donquixote

Drupal 7、 インストールプロファイルはモジュールのようなもの ですが、特別なものですが、2つの大きな例外があります。

  • drupalコア(フィールド、フィルター、ノード、システム、ユーザー)で必要なものを除き、インストールプロファイルで必要なモジュールはすべて、ご存じのとおり無効にすることができます。参照 module_disable() 関数の詳細。インストールプロファイルへの依存関係は明示的に破棄されます。
  • サイトのインストールに使用されるプロファイルも必須モジュールです。これは drupal_required_modules() にハードコードされています。

したがって、プロファイルは必須モジュールであるため、アンインストールできません。

システムテーブルでステータスを0に設定できますが、設定しないでください。

  • Drupalは、インストールプロファイルが有効になっていることを期待しており、一部の操作についてはそれに依存しています。
  • これはモジュールであり、任意のフックを(.profileファイルに)実装するか、プロファイルのサブモジュールに必要な関数を宣言します。難しい方法でそれを無効にすると、これらのシナリオで誤動作またはphpの致命的なエラーが発生する可能性があります。

ところで、サイトのインストールに使用されるインストールプロファイルはinstall_profile変数

# drush vget install_profile
install_profile: 'minimal'

何らかの理由で役立つと思われる場合は、install_profileを他のプロファイル名に設定し、システムテーブルでそれを有効にすることで、インストールプロファイルを変更できます。

9
jonhattan

D7のプロファイルスイッチャーモジュールが役立つ場合があります https://www.drupal.org/project/profile_switcher

2
Dave Nattriss

次のクエリは、インストールプロファイルのステータスを0(無効)に設定します。

UPDATE `system` SET `status` = '0' WHERE `filename` = 'profiles/YOURPROFILE/YOURPROFILE.profile';

または

UPDATE `system` SET `status` = '0' WHERE `type` = 'module' AND `name` = 'YOURPROFILE';

または更新スクリプト:

function YOUR_MODULE_update_7100(&$sandbox) {
  db_update('system')
    ->fields(array('status' => 0))
    ->condition('type', 'module')
    ->condition('name', 'YOURPROFILE')
    ->execute();
}
1
Елин Й.

Habitat モジュールはあなたのオプションであり、私はこれを以前に使用していません。指定したモジュールは、settings.phpで設定した変数に基づいて有効化および無効化されます

各環境(生息地)で特定のモジュールを有効または無効にする設定を提供します。たとえば、変数を設定するだけです。 $ conf ['habitat'] = 'local'; settings.phpファイル内(使用する実際の変数は、現在のワークフローで構成可能です)。モジュールの無効化/有効化は、hook_initで行われます。

enter image description here

1
Bala