php.ini設定をJSONに変換する
PHPのphp.ini設定ファイルをJSON形式に変換します。memory_limit、error_reporting、拡張ディレクティブなどPHP固有の値を解説します。
Common Files
詳細な説明
php.iniからJSONへ
PHPのphp.iniは、最も広く使用されているINI形式の設定ファイルの一つです。メモリ制限、エラー処理、ファイルアップロード、セッション管理、拡張モジュールの読み込みなど、PHPのランタイム動作を制御します。
php.iniの例
[PHP]
engine = On
short_open_tag = Off
precision = 14
max_execution_time = 30
memory_limit = 256M
display_errors = Off
log_errors = On
[Date]
date.timezone = America/New_York
[Session]
session.save_handler = files
session.gc_maxlifetime = 1440
生成されるJSON
{
"PHP": {
"engine": true,
"short_open_tag": false,
"precision": 14,
"max_execution_time": 30,
"memory_limit": "256M",
"display_errors": false,
"log_errors": true
},
"Date": {
"date.timezone": "America/New_York"
},
"Session": {
"session.save_handler": "files",
"session.gc_maxlifetime": 1440
}
}
PHP固有の考慮事項
- On/Off値: PHPは
OnとOffをブーリアン同等として使用し、true/falseに変換されます - メモリ表記:
256M、50Mのような値は単位サフィックスを含むため文字列のまま残ります - ドット付きキー:
session.cookie_secureのようなキーはネストされたセクションとして解釈されません - PHP定数:
E_ALL & ~E_DEPRECATEDのような値はPHP固有の式として文字列のまま残ります
ユースケース
複数サーバーのPHP設定を監査するために各サーバーのphp.iniをJSONに変換し、jqやスクリプトで設定を比較してセキュリティやパフォーマンス設定の相違を特定する場合。