<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/info.setup.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ja',
  ),
  'this' => 
  array (
    0 => 'info.configuration.php',
    1 => '実行時設定',
    2 => '実行時設定',
  ),
  'up' => 
  array (
    0 => 'info.setup.php',
    1 => 'インストール/設定',
  ),
  'prev' => 
  array (
    0 => 'info.setup.php',
    1 => 'インストール/設定',
  ),
  'next' => 
  array (
    0 => 'info.constants.php',
    1 => '定義済み定数',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ja',
    'path' => 'reference/info/ini.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="info.configuration" class="section">
 <h2 class="title">実行時設定</h2>
 <p class="simpara">
<var class="filename">php.ini</var> の設定により動作が変化します。
</p>
 <p class="para">
  <table class="doctable table">
   <caption><strong>PHP オプション/情報設定オプション</strong></caption>
   
    <thead>
     <tr>
      <th>名前</th>
      <th>デフォルト</th>
      <th>変更可能</th>
      <th>変更履歴</th>
     </tr>

    </thead>

    <tbody class="tbody">
    <tr>
     <td><a href="info.configuration.php#ini.assert.active" class="link">assert.active</a></td>
     <td>&quot;1&quot;</td>
     <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
     <td>
      PHP 8.3.0 以降は非推奨
     </td>
    </tr>

    <tr>
     <td><a href="info.configuration.php#ini.assert.bail" class="link">assert.bail</a></td>
     <td>&quot;0&quot;</td>
     <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
     <td>
      PHP 8.3.0 以降は非推奨
     </td>
    </tr>

    <tr>
     <td><a href="info.configuration.php#ini.assert.warning" class="link">assert.warning</a></td>
     <td>&quot;1&quot;</td>
     <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
     <td>
      PHP 8.3.0 以降は非推奨
     </td>
    </tr>

    <tr>
     <td><a href="info.configuration.php#ini.assert.callback" class="link">assert.callback</a></td>
     <td>NULL</td>
     <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
     <td>
      PHP 8.3.0 以降は非推奨
     </td>
    </tr>

    <tr>
     <td><a href="info.configuration.php#ini.assert.quiet-eval" class="link">assert.quiet_eval</a></td>
     <td>&quot;0&quot;</td>
     <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
     <td>PHP 8.0.0 で削除</td>
    </tr>

    <tr>
     <td><a href="info.configuration.php#ini.assert.exception" class="link">assert.exception</a></td>
     <td>&quot;1&quot;</td>
     <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
     <td>
      PHP 8.0.0 より前のバージョンでは、デフォルト値は <code class="literal">&quot;0&quot;</code> でした。
      PHP 8.3.0 以降は非推奨
     </td>
    </tr>

    <tr>
     <td><a href="info.configuration.php#ini.enable-dl" class="link">enable_dl</a></td>
     <td>&quot;1&quot;</td>
     <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
     <td>この非推奨の機能は、<em>きっと</em>
将来 <em>削除</em> されるでしょう。</td>
    </tr>

    <tr>
     <td><a href="info.configuration.php#ini.max-execution-time" class="link">max_execution_time</a></td>
     <td>&quot;30&quot;</td>
     <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
     <td class="empty">&nbsp;</td>
    </tr>

    <tr>
     <td><a href="info.configuration.php#ini.max-input-time" class="link">max_input_time</a></td>
     <td>&quot;-1&quot;</td>
     <td><strong><code><a href="info.constants.php#constant.ini-perdir">INI_PERDIR</a></code></strong></td>
     <td class="empty">&nbsp;</td>
    </tr>

    <tr>
     <td><a href="info.configuration.php#ini.max-input-nesting-level" class="link">max_input_nesting_level</a></td>
     <td>&quot;64&quot;</td>
     <td><strong><code><a href="info.constants.php#constant.ini-perdir">INI_PERDIR</a></code></strong></td>
     <td class="empty">&nbsp;</td>
    </tr>

    <tr>
     <td><a href="info.configuration.php#ini.max-input-vars" class="link">max_input_vars</a></td>
     <td>1000</td>
     <td><strong><code><a href="info.constants.php#constant.ini-perdir">INI_PERDIR</a></code></strong></td>
     <td class="empty">&nbsp;</td>
    </tr>

    <tr>
     <td><a href="info.configuration.php#ini.zend.enable-gc" class="link">zend.enable_gc</a></td>
     <td>&quot;1&quot;</td>
     <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
     <td class="empty">&nbsp;</td>
    </tr>

    <tr>
     <td><a href="info.configuration.php#ini.zend.max-allowed-stack-size" class="link">zend.max_allowed_stack_size</a></td>
     <td>&quot;0&quot;</td>
     <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
     <td>PHP 8.3.0 以降で利用可能</td>
    </tr>

    <tr>
     <td><a href="info.configuration.php#ini.zend.reserved-stack-size" class="link">zend.reserved_stack_size</a></td>
     <td>&quot;0&quot;</td>
     <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
     <td>PHP 8.3.0 以降で利用可能</td>
    </tr>

    <tr>
     <td><a href="info.configuration.php#ini.fiber.stack-size" class="link">fiber.stack_size</a></td>
     <td class="empty">&nbsp;</td>
     <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
     <td>PHP 8.1.0 以降で利用可能</td>
    </tr>

    </tbody>
   
  </table>

  INI_* モードの詳細および定義については
<a href="configuration.changes.modes.php" class="xref">どこで設定を行うのか</a> を参照してください。
 </p>
 
 <p class="para">以下に設定ディレクティブに関する
簡単な説明を示します。</p>
 
 <p class="para">
  <dl>
   
    <dt id="ini.assert.active">
     <code class="parameter">assert.active</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <p class="para">
      <span class="function"><a href="function.assert.php" class="function">assert()</a></span> の評価を有効にします。
      <span class="function"><a href="function.assert.php" class="function">assert()</a></span> の振る舞いを制御するには、
      <a href="ini.core.php#ini.zend.assertions" class="link">zend.assertions</a>
      を代わりに使うべきです。
     </p>
     <div class="warning"><strong class="warning">警告</strong><p class="simpara">この機能は PHP 8.3.0 で
<em>非推奨</em>になります。この機能に頼らないことを強く推奨します。</p></div>
    </dd>
   

   
    <dt id="ini.assert.bail">
     <code class="parameter">assert.bail</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <p class="para">
      assertion が失敗した時にスクリプトの実行を終了します。
     </p>
     <div class="warning"><strong class="warning">警告</strong><p class="simpara">この機能は PHP 8.3.0 で
<em>非推奨</em>になります。この機能に頼らないことを強く推奨します。</p></div>
    </dd>
   

   
    <dt id="ini.assert.warning">
     <code class="parameter">assert.warning</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <p class="para">
      assertion が失敗する度に PHP 警告を発行します。
     </p>
     <div class="warning"><strong class="warning">警告</strong><p class="simpara">この機能は PHP 8.3.0 で
<em>非推奨</em>になります。この機能に頼らないことを強く推奨します。</p></div>
    </dd>
   

   
    <dt id="ini.assert.callback">
     <code class="parameter">assert.callback</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      assertion が失敗した時にコールされるユーザー関数
     </p>
     <div class="warning"><strong class="warning">警告</strong><p class="simpara">この機能は PHP 8.3.0 で
<em>非推奨</em>になります。この機能に頼らないことを強く推奨します。</p></div>
    </dd>
   

   
    <dt id="ini.assert.quiet-eval">
     <code class="parameter">assert.quiet_eval</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <div class="warning"><strong class="warning">警告</strong>
<p class="simpara">この機能は、PHP 8.0.0 で <em>削除されました</em>。</p>
</div>
     <p class="para">
      assertion 式の評価時に <span class="function"><a href="function.error-reporting.php" class="function">error_reporting()</a></span> の現在の
      設定を使用します。有効な場合、評価時にエラーは表示されません。
      (暗黙のうちに error_reporting(0) とします)
      無効な場合、エラーは、<span class="function"><a href="function.error-reporting.php" class="function">error_reporting()</a></span> の設定に
      基づき設定されます。
     </p>
    </dd>
   

   
    <dt id="ini.assert.exception">
     <code class="parameter">assert.exception</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <p class="para">
      アサーションに失敗した場合に <span class="classname"><a href="class.assertionerror.php" class="classname">AssertionError</a></span> 例外を発行します。
     </p>
     <div class="warning"><strong class="warning">警告</strong><p class="simpara">この機能は PHP 8.3.0 で
<em>非推奨</em>になります。この機能に頼らないことを強く推奨します。</p></div>
    </dd>
   

   
    <dt id="ini.enable-dl">
      <code class="parameter">enable_dl</code>
      <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <p class="para">
      このディレクティブを使うと、
      PHP の拡張モジュールを <span class="function"><a href="function.dl.php" class="function">dl()</a></span>
      で動的にロードする機能を、オンまたはオフに変更することができます。
     </p>
     <p class="para">
      動的ロード機能をオフにするのは主としてセキュリティ上の理由によります。
      動的ロード機能により、
      <a href="ini.core.php#ini.open-basedir" class="link">open_basedir</a> の拘束を全て
      無視することが可能になります。
      デフォルトでは、動的ロードが可能です。
     </p>
    </dd>
   

   
    <dt id="ini.max-execution-time">
     <code class="parameter">max_execution_time</code>
      <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      スクリプトがパーサーにより強制終了されるまでに許容される最大の
      時間を秒単位で指定します。この命令は、いい加減に書かれた
      スクリプトがサーバーの負荷を上げることを防止するのに役立ちます。
      デフォルトでは、<code class="literal">30</code> に設定されています。
      PHP を <a href="features.commandline.php" class="link">コマンドライン
      </a> から実行する場合のデフォルト設定は <code class="literal">0</code>
      です。
     </p>
     <p class="para">
      Windows 以外のシステムでは、
      最大実行時間は、システムコール、ストリーム操作等の
      影響を受けません。より詳細な情報については、
      <span class="function"><a href="function.set-time-limit.php" class="function">set_time_limit()</a></span> 関数の説明を参照ください。
     </p>
     <p class="para">
      Web サーバー側でもタイムアウトの設定項目を持ち、
      その設定で PHP の実行が中断されることもあります。
      Apache には <code class="literal">Timeout</code> ディレクティブ、IIS には
      CGI タイムアウト関数があり、どちらもデフォルトで 300 秒に設定されています。
      これらの意味については、Web サーバーのドキュメントを参照ください。
     </p>
    </dd>
   

   
    <dt id="ini.max-input-time">
     <code class="parameter">max_input_time</code>
      <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      スクリプトが POST、GET などの入力を
      パースする最大の時間を、秒単位で指定します。
      これは、サーバー側で PHP が起動してからスクリプトの実行を開始するまでの時間です。
      デフォルトの設定は <code class="literal">-1</code> です。
      これは <a href="info.configuration.php#ini.max-execution-time" class="link">max_execution_time</a>
      が代わりに使われることを意味しています。
      無制限にするには、<code class="literal">0</code> を設定してください。
     </p>
    </dd>
   

   
    <dt id="ini.max-input-nesting-level">
     <code class="parameter">max_input_nesting_level</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      <a href="language.variables.external.php" class="link">外部からの入力変数</a>
      (<var class="varname"><a href="reserved.variables.get.php" class="classname">$_GET</a></var> や <var class="varname"><a href="reserved.variables.post.php" class="classname">$_POST</a></var> など)
      のネストの深さの最大値を設定します。
     </p>
    </dd>
   

   
    <dt id="ini.max-input-vars">
     <code class="parameter">max_input_vars</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      <a href="language.variables.external.php" class="link">入力変数</a>
      を最大で何個まで受け付けるかを指定します
      (この制限は、スーパーグローバル $_GET、$_POST そして $_COOKIE
      にそれぞれ個別に適用されます)。
      このディレクティブを使うと、ハッシュの衝突を悪用したサービス不能攻撃を受ける可能性を軽減できます。
      このディレクティブで設定した数を超える入力変数があった場合は
      <strong><code><a href="errorfunc.constants.php#constant.e-warning">E_WARNING</a></code></strong> が発生し、
      それ以降の入力変数はリクエストから削除されます。
     </p>
    </dd>
   
   
   
    <dt id="ini.zend.enable-gc">
     <code class="parameter">zend.enable_gc</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <p class="para">
      循環参照コレクタを有効あるいは無効にします。
     </p>
    </dd>
   

   
    <dt id="ini.zend.max-allowed-stack-size">
     <code class="parameter">zend.max_allowed_stack_size</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      オペレーティングシステムが、
      プログラムに使うことを許可しているネイティブスタックスペースの最大値。
      オペレーティングシステムがが許可している以上のサイズを使おうとすると、
      通常はハードなクラッシュが発生し、
      デバッグ情報が簡単に利用できることはありません。
      デバッグを容易にするために、PHP のエンジンはそうしたことが発生する前に
      (<a href="info.configuration.php#ini.zend.max-allowed-stack-size" class="link">zend.max_allowed_stack_size</a>-<a href="info.configuration.php#ini.zend.reserved-stack-size" class="link">zend.reserved_stack_size</a> バイト以上のスタックをプログラムが使った場合に)
      <span class="classname"><a href="class.error.php" class="classname">Error</a></span> をスローします。
     </p>
     <p class="para">
      ユーザー定義の再帰的なコードは、ネイティブスタック空間を消費しません。
      しかし、内部関数やマジックメソッドは消費します。
      これらの関数を含む、とても深い再帰コードは、
      利用可能なネイティブスタックスペースをすべて使い切る原因になりえます。
     </p>
     <p class="para">
      この
      このパラメータに設定可能な値は下記の通りです:
      <ul class="simplelist">
       <li>
        <code class="literal">0</code>:
        プログラムが消費できる、
        オペレーティングシステムのネイティブスタックスペースの最大値を自動検知します。これがデフォルトです。
        検知できない場合は、既知のシステムのデフォルト値を使います。
       </li>
       <li>
        <code class="literal">-1</code>: エンジンのスタックサイズチェックを無効にします。
       </li>
       <li>
        正の整数: 固定のサイズをバイト単位で指定します。
        この値に大き過ぎる値を指定すると、スタックサイズチェックを無効にすることと同じことになります。
       </li>
      </ul>
     </p>
     <p class="para">
      <a href="language.fibers.php" class="link">fibers</a> のスタックサイズは
      <a href="info.configuration.php#ini.fiber.stack-size" class="link">fiber.stack_size</a>
      によって決まります。
      Fiber の実行中に行われるスタックをチェックする際には、
      <a href="info.configuration.php#ini.zend.max-allowed-stack-size" class="link">zend.max_allowed_stack_size</a> の代わりにこれを使います。
     </p>
     <blockquote class="note"><p><strong class="note">注意</strong>: 
      <p class="para">
       この機能は スタック <em>バッファ</em>
       のオーバーフローとは無関係です。つまり、セキュリティ機能ではありません。
      </p>
     </p></blockquote>
    </dd>
   

   
    <dt id="ini.zend.reserved-stack-size">
     <code class="parameter">zend.reserved_stack_size</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      予約するスタックのサイズを、バイト単位で指定します。
      この値はバッファの値として
      スタックサイズをチェックする際に <a href="info.configuration.php#ini.zend.max-allowed-stack-size" class="link">max allowed stack size</a> から引かれます。
     </p>
     <p class="para">
      このパラメータに設定可能な値は下記の通りです:
      <ul class="simplelist">
       <li>
        <code class="literal">0</code>: 適切な値を自動的に検知します。
       </li>
       <li>
        正の整数: 固定のサイズをバイト単位で指定します。
       </li>
      </ul>
     </p>
    </dd>
   

   
    <dt id="ini.fiber.stack-size">
     <code class="parameter">fiber.stack_size</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      個別の <a href="language.fibers.php" class="link">Fiber</a>
      に割り当てられるネイティブスタックサイズを、
      バイト単位で指定します。
     </p>
     <p class="para">
      ポインタのサイズが8バイトより小さいシステムでは、
      デフォルト値は 1MiB です。
      8バイト以上のシステムでは、デフォルトは 2MiB です。
     </p>
    </dd>
   
  </dl>
 </p>
</div><?php manual_footer($setup); ?>