現在の位置: ホーム> 最新記事一覧> ini_restore()とini_set()の違いは何ですか?いつ使用する必要がありますか?

ini_restore()とini_set()の違いは何ですか?いつ使用する必要がありますか?

gitbox 2025-08-25

1。INI_SET ()関数

INI_SET()関数は、PHP構成オプションの値を設定するために使用されます。これにより、開発者は実行時に特定のPHP構成オプションの値を変更することで、スクリプトの動作に影響します。 ini_set()はほとんどのPHP構成アイテムを変更できますが、一部のアイテムは、php.ini構成ファイルで変更されたり、Webサーバーレベルの構成で設定されている場合にのみ有効になります。

文法:

 <span><span><span class="hljs-title function_ invoke__">ini_set</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$varname</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$newvalue</span></span><span>): </span><span><span class="hljs-keyword">string</span></span><span>|</span><span><span class="hljs-literal">false</span></span><span>
</span></span>
  • $ varname :設定する構成オプションの名前。

  • $ newValue :新しい構成値。

例:

 <span><span><span class="hljs-comment">// 設定 PHP エラーレポートレベル</span></span><span>
</span><span><span class="hljs-title function_ invoke__">ini_set</span></span><span>(</span><span><span class="hljs-string">'error_reporting'</span></span><span>, E_ALL);
</span></span>

ini_set()はスクリプトを実行するときに有効であり、そのスコープは通常、現在のスクリプトライフサイクルに限定されます。スクリプトが終了すると、構成の変更が無効になります。また、 php.iniで制限される場合があり、 max_execution_timeなどの一部の構成項目は、この関数によって変更されない場合があります。

2。INI_RESTORE ()関数

ini_restore()関数は、 ini_set()によって以前に変更されたphp構成アイテムをデフォルト値に復元するために使用されます。つまり、 ini_set()による変更を元に戻し、構成アイテムをPHP構成ファイルまたはサーバーレベルでデフォルト値に戻します。

文法:

 <span><span><span class="hljs-title function_ invoke__">ini_restore</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$varname</span></span><span>): </span><span><span class="hljs-keyword">bool</span></span><span>
</span></span>
  • $ varname :デフォルト値に復元する必要がある構成アイテムの名前。

例:

 <span><span><span class="hljs-comment">// 構成アイテムを復元します</span></span><span>
</span><span><span class="hljs-title function_ invoke__">ini_restore</span></span><span>(</span><span><span class="hljs-string">'error_reporting'</span></span><span>);
</span></span>

ini_restore()が呼び出されると、 ini_set()によって変更された構成アイテムのみが復元され、変更はすぐに有効になります。

3。違いとアプリケーションシナリオ

  1. 機能的な違い

    • ini_set()は、実行時に構成アイテムの値を設定するために使用されます。

    • ini_restore()は、 ini_set()によって変更された構成アイテムを復元し、デフォルト値に復元するために使用されます。

  2. アプリケーションの範囲

    • ini_set()は、スクリプトの動作を一時的に調整する必要があるシナリオに適したほとんどのPHP構成アイテムを設定できます。

    • ini_restore()は、 ini_set()を介して設定された構成アイテムに対してのみ有効であり、通常、デフォルトの構成を復元する必要があるシナリオで使用されます。

  3. 永続性

    • ini_set()は、現在のスクリプト実行中にのみ有効です。

    • ini_restore()は、現在のスクリプトでini_set()によって行われた変更を元に戻します。

  4. 制限

    • ini_set()ini_restore()の両方がphp.ini構成ファイルによって制限される場合があり、一部の構成アイテムを変更できません。

4。ini_set ()およびini_restore()をいつ使用するのですか?

  • ini_set()を使用してください

    • エラーレポートレベルの調整、ファイルサイズの制限のアップロードなど、スクリプト実行中に構成アイテムの値を変更する必要がある場合。

    • サーバー構成を永続的に変更することなく、一時的な調整に適しています。

  • ini_restore()を使用してください

    • ini_set()を介して構成変更を変更する前に、構成アイテムのデフォルト値を取り消す場合。

    • たとえば、関数ブロックまたはコードブロックで構成アイテムの値を変更し、実行後に元の値を復元して、他の部分への不必要な影響を避けます。

5。概要

ini_set()およびini_restore()はどちらも、ランタイム構成を管理するためにPHPで使用される重要なツールです。 ini_set()は、通常、個々のスクリプト要件の調整に使用される構成項目の変更に使用されますが、 ini_restore()は以前の構成状態を復元するために使用されます。それらを合理的に使用すると、開発者がPHP環境の動作をより柔軟に制御し、スクリプトが予想どおりに実行されるようにすることができます。