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

contributors($setup);

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

   </thead>

   <tbody class="tbody">
    <tr>
     <td><a href="ibm-db2.configuration.php#ini.ibm-db2.binmode" class="link">ibm_db2.binmode</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="ibm-db2.configuration.php#ini.ibm-db2.i5-all-pconnect" class="link">ibm_db2.i5_all_pconnect</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>ibm_db2 1.6.5 以降で利用可能</td>
    </tr>

    <tr>
     <td><a href="ibm-db2.configuration.php#ini.ibm-db2.i5-allow-commit" class="link">ibm_db2.i5_allow_commit</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>ibm_db2 1.4.9 以降で利用可能</td>
    </tr>

    <tr>
     <td><a href="ibm-db2.configuration.php#ini.ibm-db2.i5-blank-userid" class="link">ibm_db2.i5_blank_userid</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>ibm_db2 1.9.7 以降で利用可能</td>
    </tr>

    <tr>
     <td><a href="ibm-db2.configuration.php#ini.ibm-db2.i5-char-trim" class="link">ibm_db2.i5_char_trim</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>ibm_db2 2.1.0 以降で利用可能</td>
    </tr>

    <tr>
     <td><a href="ibm-db2.configuration.php#ini.ibm-db2.i5-dbcs-alloc" class="link">ibm_db2.i5_dbcs_alloc</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>ibm_db2 1.5.0 以降で利用可能</td>
    </tr>

    <tr>
     <td><a href="ibm-db2.configuration.php#ini.ibm-db2.i5-guard-profile" class="link">ibm_db2.i5_guard_profile</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>ibm_db2 1.9.7 以降で利用可能</td>
    </tr>

    <tr>
     <td><a href="ibm-db2.configuration.php#ini.ibm-db2.i5-ignore-userid" class="link">ibm_db2.i5_ignore_userid</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>ibm_db2 1.8.0 以降で利用可能</td>
    </tr>

    <tr>
     <td><a href="ibm-db2.configuration.php#ini.ibm-db2.i5-job-sort" class="link">ibm_db2.i5_job_sort</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>ibm_db2 1.8.4 以降で利用可能</td>
    </tr>

    <tr>
     <td><a href="ibm-db2.configuration.php#ini.ibm-db2.i5-log-verbose" class="link">ibm_db2.i5_log_verbose</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>ibm_db2 1.9.7 以降で利用可能</td>
    </tr>

    <tr>
     <td><a href="ibm-db2.configuration.php#ini.ibm-db2.i5-max-pconnect" class="link">ibm_db2.i5_max_pconnect</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>ibm_db2 1.9.7 以降で利用可能</td>
    </tr>

    <tr>
     <td><a href="ibm-db2.configuration.php#ini.ibm-db2.i5-override-ccsid" class="link">ibm_db2.i5_override_ccsid</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>ibm_db2 1.9.7 以降で利用可能</td>
    </tr>

    <tr>
     <td><a href="ibm-db2.configuration.php#ini.ibm-db2.i5-servermode-subsystem" class="link">ibm_db2.i5_servermode_subsystem</a></td>
     <td>NULL</td>
     <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
     <td>ibm_db2 1.9.7 以降で利用可能</td>
    </tr>

    <tr>
     <td><a href="ibm-db2.configuration.php#ini.ibm-db2.i5-sys-naming" class="link">ibm_db2.i5_sys_naming</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>ibm_db2 1.9.7 以降で利用可能</td>
    </tr>

    <tr>
     <td><a href="ibm-db2.configuration.php#ini.ibm-db2.instance-name" class="link">ibm_db2.instance_name</a></td>
     <td>NULL</td>
     <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
     <td>ibm_db2 1.0.2 以降で利用可能</td>
    </tr>

   </tbody>
  
 </table>


 <p class="para">以下に設定ディレクティブに関する
簡単な説明を示します。</p>

 <dl>
  
   <dt id="ini.ibm-db2.binmode">
    <code class="parameter">ibm_db2.binmode</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <p class="para">
     このオプションは、バイナリデータを PHP アプリケーションで
     使用する際のモードを制御します。
     <ul class="itemizedlist">
      <li class="listitem">
       <span class="simpara">
        1 (DB2_BINARY)
       </span>
      </li>
      <li class="listitem">
       <span class="simpara">
        2 (DB2_CONVERT)
       </span>
      </li>
      <li class="listitem">
       <span class="simpara">
        3 (DB2_PASSTHRU)
       </span>
      </li>
     </ul>
    </p>
   </dd>
  
  
   <dt id="ini.ibm-db2.i5-all-pconnect">
    <code class="parameter">ibm_db2.i5_all_pconnect</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <p class="para">
     このオプションは、IBM i 上での接続を強制的にすべて持続的接続にします。
     基本的に、すべての <span class="function"><a href="function.db2-connect.php" class="function">db2_connect()</a></span>
     関数のコールは透過的に <span class="function"><a href="function.db2-pconnect.php" class="function">db2_pconnect()</a></span>
     のコールになります。
     デフォルトでは、このオプションの値は <code class="literal">0</code> です。
     このオプションは、持続的接続が高速な場合のために便宜上提供されています。
     新しいアプリケーションでは、このオプションを使うべきではありません。
     <ul class="itemizedlist">
      <li class="listitem">
       <span class="simpara">
        0  - 持続的接続、およびそうでない接続の両方を作成できます
       </span>
      </li>
      <li class="listitem">
       <span class="simpara">
        1 - すべての接続を持続的接続にします
       </span>
      </li>
     </ul>
    </p>
   </dd>
  
  
   <dt id="ini.ibm-db2.i5-allow-commit">
    <code class="parameter">ibm_db2.i5_allow_commit</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <p class="para">
     このオプションは、トランザクションの分離レベルを制御します。
     デフォルトでは、このオプションの値は <code class="literal">0</code> です。
     よって、コミットの制御は使いません。
     このオプションは、配列のキー <code class="parameter">i5_commit</code>
     を接続オプションの配列に設定し、
     <span class="function"><a href="function.db2-connect.php" class="function">db2_connect()</a></span> や
     <span class="function"><a href="function.db2-pconnect.php" class="function">db2_pconnect()</a></span> に渡すことで上書きできます。
     <ul class="itemizedlist">
      <li class="listitem">
       <span class="simpara">
        0 - コミット制御を使いません。
       </span>
      </li>
      <li class="listitem">
       <span class="simpara">
        1 - read uncommitted。ダーティリードの可能性があります。
       </span>
      </li>
        <li class="listitem">
       <span class="simpara">
        2 - read committed。ダーティリードは発生しません。
       </span>
      </li>
      <li class="listitem">
       <span class="simpara">
        3 - repeatable read。ダーティリードや非再現リードは発生しません。
       </span>
      </li>
      <li class="listitem">
       <span class="simpara">
        4 - serializeable。ダーティリードや非再現リードやファントムリードは発生しません。
       </span>
      </li>
     </ul>
    </p>
   </dd>
  
  
   <dt id="ini.ibm-db2.i5-blank-userid">
    <code class="parameter">ibm_db2.i5_blank_userid</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <p class="para">
     IBM i 上で空のユーザーIDを許可すべきかどうかを制御します。
     デフォルトでは、このオプションの値は <code class="literal">0</code> です。
     <code class="parameter">ibm_db2.i5_ignore_userid</code> と異なり、
     このオプションはすべてのユーザーIDを強制的に空にしたり、
     ジョブの振る舞いを変えたりはしません。
     ただ単に、Db2 に現在のユーザーとしてする際、
     空のユーザーIDを渡すことを許可するだけです。
     <ul class="itemizedlist">
      <li class="listitem">
       <span class="simpara">
        0 - ユーザーIDを空で渡すことを許可しません
       </span>
      </li>
      <li class="listitem">
       <span class="simpara">
        1 - ユーザーIDを空で渡すことを許可します。
       </span>
      </li>
     </ul>
    </p>
   </dd>
  
  
   <dt id="ini.ibm-db2.i5-char-trim">
    <code class="parameter">ibm_db2.i5_char_trim</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <p class="para">
     このオプションは、IBM i における文字列の右端をトリム処理するかを制御します。
     多くのテーブルは固定のカラムサイズを持ち、スペースで埋められているため、
     このオプションが便宜のため提供されています。
     デフォルトでは、このオプションの値は <code class="literal">0</code> です。
     <ul class="itemizedlist">
      <li class="listitem">
       <span class="simpara">
        0 - カラムの値はトリム処理されません。
       </span>
      </li>
      <li class="listitem">
       <span class="simpara">
        1 - 返される文字カラムの右端のスペースが削除されます。
       </span>
      </li>
     </ul>
    </p>
   </dd>
  
  
   <dt id="ini.ibm-db2.i5-dbcs-alloc">
    <code class="parameter">ibm_db2.i5_dbcs_alloc</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <p class="para">
     このオプションは、IBM i における内部バッファの割当て戦略に影響します。
     デフォルトでは、このオプションの値は <code class="literal">0</code> です。
     このオプションを設定した場合、
     エンコーディング変換時にデータベースが文字列サイズを過小評価した場合に備えて、
     さらに大きなサイズのバッファが割り当てられます。
     このオプションはバッファ用に6倍のメモリを使用します（最大サイズのUTF-8シーケンスに対応するため）。
     切り詰められたデータが返される場合に必要となる可能性があります。
     <ul class="itemizedlist">
      <li class="listitem">
       <span class="simpara">
        0 - 最低限のバッファサイズが割り当てられます
       </span>
      </li>
      <li class="listitem">
       <span class="simpara">
        1 - さらに大きなバッファサイズを割り当てます
       </span>
      </li>
     </ul>
    </p>
   </dd>
  
  
   <dt id="ini.ibm-db2.i5-guard-profile">
    <code class="parameter">ibm_db2.i5_guard_profile</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <p class="para">
     IBM i 上のデータベースに持続的接続する際、
     ユーザーのデータベースのプロファイルを切り替えるかどうかをチェックします。
     切り替える場合、データベースから切断します。
     デフォルトでは、このオプションの値は <code class="literal">0</code> です。
     <ul class="itemizedlist">
      <li class="listitem">
       <span class="simpara">
        0 - プロファイルの切換をチェックしません
       </span>
      </li>
      <li class="listitem">
       <span class="simpara">
        1 - プロファイルの切換をチェックし、切り替える場合は切断します
       </span>
      </li>
     </ul>
    </p>
   </dd>
  
  
   <dt id="ini.ibm-db2.i5-log-verbose">
    <code class="parameter">ibm_db2.i5_log_verbose</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <p class="para">
     このオプションは、
     IBM i 上で 警告やエラーなどのSQL診断メッセージを、
     常に PHP のエラーログに送信するかどうかを設定します。
     通常、このオプションはデフォルトで <code class="literal">0</code> に設定されているため、
     失敗時には簡潔なメッセージ（例：「ステートメントの実行に失敗しました」）のみが
     PHP のエラーログに送信されます。
     ただし、関数が失敗したかどうかを確認する目的で
     <span class="function"><a href="function.db2-stmt-errormsg.php" class="function">db2_stmt_errormsg()</a></span> を手動で呼び出すことができますし、
     またそうすべきである点に注意してください。
     <ul class="itemizedlist">
      <li class="listitem">
       <span class="simpara">
        0 - 簡潔なメッセージだけをログに残します
       </span>
      </li>
      <li class="listitem">
       <span class="simpara">
        1 - 簡潔なメッセージに加えて、SQL診断メッセージをログに残します
       </span>
      </li>
     </ul>
    </p>
   </dd>
  
  
   <dt id="ini.ibm-db2.i5-ignore-userid">
    <code class="parameter">ibm_db2.i5_ignore_userid</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <p class="para">
     IBM i 上で実行される際、かつデータベースに接続する際に、
     このオプションはユーザーID を無視します。
     また、別々のジョブではなく、PHPジョブの内部でSQL/CLI の機能を実行します。
     デフォルトでは、このオプションの値は <code class="literal">0</code> です。
     このオプションを有効にすると、
     別々のデータベースサーバーのジョブを使わず、
     常に現在のユーザープロファイルを使います。
     そして、<span class="function"><a href="function.db2-connect.php" class="function">db2_connect()</a></span> と <span class="function"><a href="function.db2-pconnect.php" class="function">db2_pconnect()</a></span>
     に渡されるユーザー名とパスワードを無視します。
     <ul class="itemizedlist">
      <li class="listitem">
       <span class="simpara">
        0 - 指定されたクレデンシャルを使い、SQL/CLI サーバーのジョブを使います。
       </span>
      </li>
      <li class="listitem">
       <span class="simpara">
        1 - 常に空のクレデンシャルを使い、PHP のジョブ中でSQL/CLI ジョブを実行します
       </span>
      </li>
     </ul>
    </p>
   </dd>
  
  
   <dt id="ini.ibm-db2.i5-job-sort">
    <code class="parameter">ibm_db2.i5_job_sort</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <p class="para">
     IBM i におけるジョブソートを制御します。
     デフォルトでは、このオプションの値は <code class="literal">0</code> です。
     これは IBM i SQL/CLI の <code class="literal">SQL_ATTR_CONN_SORT_SEQUENCE</code>
     属性に対応します。
     <ul class="itemizedlist">
      <li class="listitem">
       <span class="simpara">
        0 - <code class="literal">*HEX</code> ソートオプションを使い、
        バイト単位でソートを行います。
       </span>
      </li>
      <li class="listitem">
       <span class="simpara">
        1 - PHP のジョブ向けにジョブソートのシーケンスを使います。
       </span>
      </li>
      <li class="listitem">
       <span class="simpara">
        2 - データベースのジョブ向けにジョブソートのシーケンスを使います。
       </span>
      </li>
     </ul>
    </p>
   </dd>
  
  
   <dt id="ini.ibm-db2.i5-max-pconnect">
    <code class="parameter">ibm_db2.i5_max_pconnect</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <span class="simpara">
     このオプションは、IBM i 上で実行する際、
     何回持続的接続が再利用されるかに影響します。
     デフォルトでは、この値は <code class="literal">0</code> です。
     つまり、持続的接続は常に再利用されるということです。
     このオプションは、
     長時間実行されるデータベースのジョブで起こる問題
     (つまり、プロシージャでメモリリークが起きた場合など)
     を回避されるのに役立ちますが、明らかに長期的に役立つものではないでしょう。
    </span>
   </dd>
  
  
   <dt id="ini.ibm-db2.i5-override-ccsid">
    <code class="parameter">ibm_db2.i5_override_ccsid</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <span class="simpara">
     IBM i 上の EBCDIC から文字変換に使用する PASE CCSID。
     デフォルトでこの値は <code class="literal">0</code> であり、
     PASE ロケール設定から取得されるデフォルトの PASE ジョブ CCSID を選択します。
     たとえば、これを <code class="literal">1208</code> に設定すると UTF-8 を使用します。
     この値は、PASE ジョブの CCSID が期待される CCSID と異なる場合、
     かつロケールを変更できない場合にのみ変更してください。
    </span>
    <span class="simpara">
     IBM i 上の CCSID についてさらに学ぶ場合は、
     <a href="https://www.ibm.com/docs/en/i/7.5?topic=information-ccsid-reference" class="link external">&raquo;&nbsp;IBM documentation</a> を調べてください。
     IBM i 上の PASE がどのように CCSID にマップされているかについては、
     <a href="https://www.ibm.com/docs/en/i/7.5?topic=ssw_ibm_i_75/apis/pase_locales.html" class="link external">&raquo;&nbsp;IBM documentation</a> を調べてください。
    </span>
   </dd>
  
  
   <dt id="ini.ibm-db2.i5-sys-naming">
    <code class="parameter">ibm_db2.i5_sys_naming</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <p class="para">
     このオプションは、IBM i システムに接続する際の命名モードを制御します。
     デフォルトでは、このオプションの値は <code class="literal">0</code> です。
     命名モードは、名前の解決方法と名前に許可される構文に影響します。
     <code class="literal">0</code> に設定すると、名前の修飾にピリオドを使用し、
     名前解決にはデフォルトのライブラリまたはユーザーIDを使用します。
     <code class="literal">1</code> に設定すると、名前の修飾にスラッシュを使用し、
     名前解決にはジョブライブラリリストを使用します。
     <ul class="itemizedlist">
      <li class="listitem">
       <span class="simpara">
        0 - SQL の命名モードを使う(&quot;SCHEMA.TABLE&quot;).
       </span>
      </li>
      <li class="listitem">
       <span class="simpara">
        1 - システムの命名モードを使う(&quot;LIBRARY/FILE&quot;).
       </span>
      </li>
     </ul>
    </p>
    <span class="simpara">
     IBM i 上の命名モードについて学ぶには、
     <a href="https://www.ibm.com/docs/en/i/7.5?topic=application-naming-distributed-relational-database-objects" class="link external">&raquo;&nbsp;IBM documentation</a> を調べてください。
    </span>
   </dd>
  
  
   <dt id="ini.ibm-db2.i5-servermode-subsystem">
    <code class="parameter">ibm_db2.i5_servermode-subsystem</code>
    <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
   </dt>
   <dd>
    <span class="simpara">
     このオプションは、
     IBM i 上でどのサブシステムデータベースサーバージョブが実行されるかを変更します。
     デフォルトでは、このオプションは <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong> であるため、
     ジョブは QSQSRVR ジョブのデフォルトサブシステムで実行されます。
    </span>
   </dd>
  
  
   <dt id="ini.ibm-db2.instance-name">
    <code class="parameter">ibm_db2.instance_name</code>
    <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
   </dt>
   <dd>
    <p class="para">
     Linux や UNIX オペレーティングシステムにおいて、
     このオプションはカタログされたデータベースへの接続で使う、
     インスタンス名を定義します。
     デフォルトでは、このオプションの値は <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong> です。
     このオプションを設定すると、
     環境変数 <var class="varname">DB2INSTANCE</var> の値を上書きします。
    </p>
    <span class="simpara">
     Windows では、このオプションの値は無視されます。
    </span>
   </dd>
  
 </dl>
</div><?php manual_footer($setup); ?>