bitrix-settings について
bitrix-settingsは、Bitrixカーネルの`.settings.php`と`.settings_extra.php`を設定するためのリファレンススキルです。ファイルの優先順位やグローバル・モジュール設定、管理画面やカーネルによる書き込み時の注意点を説明します。
主な機能
- 01メインと追加設定ファイルの優先順位
- 02グローバル・モジュール設定の説明
- 03設定セクションの置換動作
- 04読み取り専用セクションの形式
- 05クロージャとカーネル書き込みの注意点
活用シーン
- 01読み込まれる設定ファイルの確認
- 02プロジェクト固有設定の配置
- 03SMTPや設定セクションの構成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ bxmaximum/ bitrix-framework-skills --skill bitrix-settingsインストール後、Claude Code で/bitrix-settingsを入力して読み込まれたか確認します。
同梱ファイルrules/sections.mdrules/smtp.md
詳細
カーネルの設定(.settings.php)
基準:main 23.0+ · 検証済み:main 26.800.0
| タスク | 参照先 |
|---|---|
セクション:connections、exception_handling、cookies、crypto、ui、… | rules/sections.md |
SMTP によるメール送信(smtp、送信者ごとの SMTP) | rules/smtp.md |
読み込まれるファイル
- メイン:
/local/.settings.phpが存在する場合はそのファイル(main 24.100 以降)、それ以外は/bitrix/.settings.phpを読み込みます。読み込まれるのはどちらか一方だけです。/localのファイルはカーネルのファイルを置き換えるため、connectionsを含むすべてのセクションをコピーしてください。 - 追加:
/local/.settings_extra.phpがあればそのファイル、なければ/bitrix/.settings_extra.phpを読み込みます。読み込まれるのはどちらか一方だけです。メインファイルの後に読み込まれ、各トップレベルセクション全体を置き換えます(ディープマージは行われません)。 - プロジェクトのセクション(クロージャー、シークレット、
routing、loggers、messenger)は/local/.settings_extra.phpに配置してください。このファイルは/bitrix/.settings_extra.phpより優先されるため、後者のセクションを移してください。 - カーネルまたは管理画面による書き込み(
Configuration::setValue()、設定フォーム)は、メインファイルのデータをvar_exportでメインファイルに書き込みます。そこにクロージャーを置くと、次回の書き込み時に問題が発生します。追加ファイルは書き換えられません。 - サイトチェッカーと
services/quickway.phpは/bitrix/.settings.phpだけを読み込むため、このファイルを有効な状態に保ってください。IsConfigFile()がファイルマネージャーからのアクセスを拒否するのは/bitrix/.settings.phpだけであり、/local/.settings*.phpは対象外です。 php_interface/dbconn.php(/localは main 24.100 以降、それ以外は/bitrix)も引き続き必要です。
形式
'section' => ['value' => [...], 'readonly' => true] — readonly セクションは、実行時の Configuration::add()/delete() と管理画面のフォームでスキップされます。参照するには Configuration::getValue('section') を使用します。
グローバル設定とモジュール設定
| ファイル | セクション |
|---|---|
| グローバルなメイン/追加ファイル | connections、cache、cache_flags、session、cookies、crypto、exception_handling、routing、messenger、loggers、composer、http_client_options、pull、smtp、ui、default_language、services |
/local/modules/<id>/.settings.php(モジュールのインストール中に読み込み) | services、controllers、console、messenger、rest(v3) |
validation セクションは存在しません(bitrix-validation)。routing はグローバル設定のみです(bitrix-routing)。
コメント
Markdown 対応