【いにふぁいる】

INIファイル とは?

💡 「セクション+キー=値」のシンプルな設定ファイル形式
📌 このページのポイント
INIファイルの構造 config.ini [General] app_name = MyApp version = 2.1 ; コメント行 [Database] host = localhost port = 3306 user = admin 構造ルール [セクション名] 設定のグループ分け キー = 値 各設定項目を定義 ; コメント メモや説明を記述 シンプルで読みやすい 古くから使われる設定形式
INIファイルのイメージ
ひよこ ひよこ

INIファイルってどんな形式なの?

ペンギン先生 ペンギン先生

こんな感じ。「[database]」という区切り(セクション)の下に「host = localhost」「port = 3306」とキーと値を書く。シンプルで読みやすいから設定ファイルとして長く使われている。

ひよこ ひよこ

おもしろい!php.iniってよく聞くけど?

ペンギン先生 ペンギン先生

PHPの動作設定ファイル。「memory_limit = 256M」でメモリ上限を設定したり「upload_max_filesize = 10M」でアップロードサイズを設定したりする。Webサーバの設定でよく調整するファイルだよ。

ひよこ ひよこ

YAMLとどっちが使いやすいの?

ペンギン先生 ペンギン先生

シンプルな設定ならINIが読みやすい。ネストした複雑な構造が必要ならYAML(またはTOML)の方が向いている。INIはネスト構造が表現できない点が制約。最近の設定ファイルはYAMLやTOMLを使うことが多くなっている。

ひよこ ひよこ

INIファイルってセキュリティ的に大丈夫なの?

ペンギン先生 ペンギン先生

INIファイルにパスワード平文で書くのは危険。パーミッションで読み取りを制限するか、暗号化した値を書いて読み込み時に復号する方法がある。本番環境では環境変数シークレット管理サービス(AWS Secrets Manager等)を使う方が安全だよ。

ひよこ ひよこ

TOMLってINIの進化版なの?

ペンギン先生 ペンギン先生

そう言える部分もあるよ。TOMLはINIの見た目の親しみやすさを引き継ぎつつ、配列・ネスト・日付型などを正式にサポートしている。Rust言語のCargo.tomlやPythonのpyproject.tomlなど、モダンなツールの設定ファイルとして急速に普及しているんだ。INI→YAML→TOMLという流れで、それぞれの「人間が読みやすい設定ファイル」の進化が見られるよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
INIファイルって出てきたら「セクションとキー=値ペアで書くシンプルな設定ファイル形式」と思えばOK!
📖 おまけ:英語の意味
「INI File(Initialization File)」 = 初期化ファイル
💬 アプリケーションの「初期化(Initialization)」設定を記述するファイルという意味。Windows 3.xの時代から使われているシンプルな設定ファイル形式
← 用語集にもどる