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

contributors($setup);

?>
<div id="phar.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>ファイルシステムおよびストリームの設定オプション</strong></caption>
   
    <thead>
     <tr>
      <th>名前</th>
      <th>デフォルト</th>
      <th>変更可能</th>
      <th>変更履歴</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td><a href="phar.configuration.php#ini.phar.readonly" class="link">phar.readonly</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="phar.configuration.php#ini.phar.require-hash" class="link">phar.require_hash</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="phar.configuration.php#ini.phar.cache-list" class="link">phar.cache_list</a></td>
      <td>&quot;&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

    </tbody>
   
  </table>

 </p>
 
 <p class="para">以下に設定ディレクティブに関する
簡単な説明を示します。</p>
 
 <p class="para">
  <dl>
   
    <dt id="ini.phar.readonly">
     <code class="parameter">phar.readonly</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <p class="para">
      このオプションを使用すると、<code class="literal">phar</code>
      ストリームや <span class="classname"><a href="class.phar.php" class="classname">Phar</a></span>
      オブジェクトによる Phar アーカイブの作成や変更ができなくなります。
      この設定は、実運用環境では常に有効にしておくべきです。
      phar 拡張モジュールのこの機能は、
      サーバー上に他のセキュリティ上の脆弱性があった場合に
      php ベースのウィルスを直接作成されてしまうことにつながります。
     </p>
     <blockquote class="note"><p><strong class="note">注意</strong>: 
      <p class="para">
       この設定は、php.ini でしか解除できません。
       <code class="literal">phar.readonly</code> を php.ini で無効にした場合は、
       ユーザーがスクリプト内で <code class="literal">phar.readonly</code>
       の有効/無効を切りかえることができます。
       <code class="literal">phar.readonly</code> を php.ini で有効にした場合は、
       スクリプト内でこれを &quot;再度有効にする&quot;
       ことはできますが、無効にすることはできません。
      </p>
     </p></blockquote>
    </dd>
   

   
    <dt id="ini.phar.require-hash">
     <code class="parameter">phar.require_hash</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <p class="para">
      このオプションを使用すると、署名つき
      (現在サポートしているのは MD5、SHA1、SHA256、SHA512、および OpenSSL)
      の Phar アーカイブのみをオープンするようになります。
      署名を含まない Phar アーカイブの処理はできません。
     </p>
     <blockquote class="note"><p><strong class="note">注意</strong>: 
      <p class="para">
       この設定は、セキュリティ上の理由により
       php.ini でしか解除できません。
       <code class="literal">phar.require_hash</code> を php.ini で無効にした場合は、
       ユーザーがスクリプト内で <code class="literal">phar.require_hash</code>
       の有効/無効を切りかえることができます。
       <code class="literal">phar.require_hash</code> を php.ini で有効にした場合は、
       スクリプト内でこれを &quot;再度有効にする&quot;
       ことはできますが、無効にすることはできません。
      </p>
      <p class="para">
       この設定は、
       <span class="classname"><a href="class.phardata.php" class="classname">PharData</a></span> クラスで通常の
       tar ファイルを読み込む際には影響を及ぼしません。
      </p>
     </p></blockquote>
     <div class="caution"><strong class="caution">警告</strong>
      <p class="simpara">
       <code class="literal">phar.require_hash</code> は、それ自体はセキュリティ上の機能を提供しません。
       壊れた Pharアーカイブを誤って実行することへの備えでしかありません。
       Phar を改ざんできる人は、シグネチャを後で簡単に修正できてしまうからです。
      </p>
     </div>
    </dd>
   

   
    <dt id="ini.phar.cache-list">
     <code class="parameter">phar.cache_list</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      phar アーカイブをウェブサーバーの起動時に事前にパースさせるようにします。
      これによりパフォーマンスが向上し、
      ディスク上に配置した伝統的なファイルに近い速度で実行することができます。
      <div class="example" id="example-1">
       <p><strong>例1 phar.cache_list の使用例</strong></p>
       <div class="example-contents">
<div class="cdata"><pre>
php.ini (windows):
phar.cache_list =C:\path\to\phar1.phar;C:\path\to\phar2.phar
php.ini (unix):
phar.cache_list =/path/to/phar1.phar:/path/to/phar2.phar
</pre></div>
       </div>

      </div>
     </p>
    </dd>
   
  </dl>
 </p>
</div><?php manual_footer($setup); ?>