PHP操作中、 PHP.ini構成ファイルは、環境構成とシステムの動作を調整するために重要です。メインPHP.iniファイルに加えて、PHPは、追加の構成設定を含む可能性のある他の構成ファイルをスキャンおよびロードしたり、特定のモジュールで使用したりする場合があります。開発者の場合、現在のPHP環境でどの構成ファイルがロードされているかを確認する必要がある場合があります。
コマンドライン環境では、PHPの組み込み関数PHP_INI_SCANNED_FILESを使用して、PHPでスキャンされたすべての構成ファイルのパスリストを取得できます。この関数は、ファイルパスを含む文字列の配列を返し、PHPで使用されるすべての追加の構成ファイルを示します。
PHP_INI_SCANNED_FILESは、現在のPHP構成環境でスキャンされた構成ファイルのリストを取得するPHPビルトイン関数です。これらの構成ファイルは通常、PHPのSCAN_DIRで指定され、拡張モジュールまたは追加の構成に使用されます。通常、PHP構成中に、追加の構成ファイルをスキャンするための複数のディレクトリを指定して、構成を複数のファイルに広めて簡単に管理できるようにします。
関数は次のように定義されています。
<span><span><span class="hljs-keyword">array</span></span><span> </span><span><span class="hljs-title function_ invoke__">php_ini_scanned_files</span></span><span> ( </span><span><span class="hljs-keyword">void</span></span><span> )
</span></span>
パラメーターを受け入れず、初期化時にPHPスキャンするすべての構成ファイルへのパスを含む配列を返します。
コマンドラインでphp_ini_scanned_filesを使用するには、単純なPHPスクリプトを実行する必要があります。既にPHP環境があり、コマンドラインからPHPスクリプトを実行できるとします。
まず、 scan_ini.phpという名前のphpファイルを作成し、 php_ini_scanned_files関数を使用してスキャンされた構成ファイルを取得します。
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// スキャンされた構成ファイルリストを取得します</span></span><span>
</span><span><span class="hljs-variable">$scannedFiles</span></span><span> = </span><span><span class="hljs-title function_ invoke__">php_ini_scanned_files</span></span><span>();
</span><span><span class="hljs-comment">// ファイルがスキャンされているかどうかを確認してください</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$scannedFiles</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"スキャンされた構成ファイルにはあります:\n"</span></span><span>;
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$scannedFiles</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$file</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$file</span></span><span> . </span><span><span class="hljs-string">"\n"</span></span><span>;
}
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"追加の構成ファイルはスキャンされませんでした。\n"</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
コマンドラインを使用して、 scan_ini.phpファイルを保存したディレクトリを入力し、次のコマンドを実行します。
<span><span>php scan_ini.php
</span></span>
この時点で、PHPはスクリプトを実行し、スキャンされたすべての構成ファイルへのパスを出力します。追加の構成ファイルがスキャンされない場合、スクリプトは対応するプロンプトが出力されます。
設定ファイルのデバッグの問題:PHP構成関連エラーが発生した場合、PHPが特定の構成ファイルをロードしたかどうかを確認する必要があります。 php_ini_scanned_filesを使用すると、予想される構成ファイルが読み込まれていることを確認するのに役立ちます。
マルチ環境管理:さまざまな開発、テスト、生産環境で異なる構成ファイルを使用できます。この関数を使用して、現在の環境にどの構成ファイルがロードされているかを簡単に確認します。
拡張プロファイル:一部のPHP拡張機能は、特定のプロファイルをスキャンリストに追加する場合があります。この関数を使用すると、これらの拡張機能の構成ファイルがロードされているかどうかを確認できます。
php_ini_loaded_file() :現在ロードされているMain Php.iniファイルへのパスを返します。 PHPが予想されるメイン構成ファイルを使用するかどうかを確認するために使用できます。
get_cfg_var() :php構成変数の値を取得します。特定の特定の構成アイテムの現在の値を確認するために使用できます。
PHP_INI_SCANNED_FILESは、特にコマンドライン環境で構成ファイルをデバッグして確認する場合、非常に実用的なPHP関数です。開発者は、PHPでロードされたすべての追加の構成ファイルをすばやく見つけ、システムが予想どおりに動作するようにします。
うまくいけば、この記事を通して、 php_ini_scanned_filesを使用してphp構成ファイルを確認し、必要に応じて関連する問題を解決する方法をよりよく理解できることを願っています。