【いにふぁいる】

INIファイル とは?

最終更新:
💡 「セクション+キー=値」のシンプルな設定ファイル形式

設定値をセクションとキーと値のペアで記述するシンプルなテキスト形式の設定ファイル。Windowsのシステム設定やアプリケーションの設定に古くから使われている。

📌 このページのポイント
セクションとキー=値で設定を書く config.ini [General] app_name = MyApp ; コメント行 [Database] host = localhost port = 3306 [セクション] 項目のまとまり キー=値 設定の名前と内容 ; コメント 説明を書く コメントや値の解釈は、実装ごとに異なる 読み込むソフトの規則を確認する
一般的なINI風の設定例。コメント文字、大文字・小文字、値の型などの扱いは実装ごとに異なるため、利用するソフトの読み取り規則に合わせます。
ひよこ ひよこ
INIファイルってどんな形式なの?
ペンギン先生 ペンギン先生
一般には[database]のようなセクションの下に、host = localhost、port = 3306とキーと値を書くよ。ただし、INIと呼ばれるファイルの読み取り規則は実装ごとに違う。コメント、値の解釈、大文字・小文字などは使うソフトの説明を確認しよう。
ひよこ ひよこ
おもしろい!php.iniってよく聞くけど?
ペンギン先生 ペンギン先生
PHPの動作設定ファイルだよ。memory_limit = 256Mでスクリプトのメモリ上限、upload_max_filesize = 10Mでアップロードする1ファイルの上限を指定する例がある。ただし、送信全体の上限post_max_sizeなどの条件もある。php.iniはPHPの規則で読むので、一般的なINIの規則とすべて同じとは限らないよ。
ひよこ ひよこ
YAMLとどっちが使いやすいの?
ペンギン先生 ペンギン先生
単純なキーと値ならINIは読みやすいね。配列や入れ子を扱いたい場合には、それらを定義するYAMLやTOMLなどが候補になる。ただし、アプリが読む形式は決まっていることがあるので、好きな形式へ置き換えれば動くわけではないんだ。
ひよこ ひよこ
INIファイルってセキュリティ的に大丈夫なの?
ペンギン先生 ペンギン先生
INI形式そのものに、秘密を保護する機能があるわけではないよ。パスワードを含むなら、必要な利用者やアプリだけが読めるようにし、公開ファイルやリポジトリへ混ぜないことが大切だね。シークレット管理サービスを使う場合にも権限設定が必要で、環境変数へ移すだけで安全になるわけではない。ログやダンプから漏れる可能性も考えよう。
ひよこ ひよこ
TOMLってINIの進化版なの?
ペンギン先生 ペンギン先生
セクションに似た見た目はあるけれど、TOMLは別の仕様を持つ形式だよ。文字列・数値・配列・日付などの型や、設定をまとめる構造が定められている。INIからYAML、TOMLへ必ず順番に進化する関係ではなく、対応するソフトや表現したい設定に合わせて選ぶものなんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「INIファイル」って出てきたら「一般にセクションとキー=値で書く、シンプルな設定ファイル」と思えばだいたいOK!
📖 おまけ:英語の意味
「INI File(Initialization File)」 = 初期化ファイル
💬 アプリケーションの「初期化(Initialization)」設定を記述するファイルという意味。Windows 3.xの時代から使われているシンプルな設定ファイル形式

参考資料

← 用語集にもどる