<?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 => 'ru',
  ),
  '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' => 'ru',
    '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">
      Этот параметр отключает поддержку создания или модификации Phar-архивов
      с помощью потока <code class="literal">phar</code> и записи объектов <span class="classname"><a href="class.phar.php" class="classname">Phar</a></span> на диск.
      Этот параметр всегда должен быть включён на рабочих машинах,
      поскольку поддержка записи модулем 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; переменную INI, но не может отключить её.
      </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; переменную INI, но не может отключить её.
      </p>
      <p class="para">
       Этот параметр не влияет на чтение простых tar-файлов
       при помощи класса <span class="classname"><a href="class.phardata.php" class="classname">PharData</a></span>.
      </p>
     </p></blockquote>
     <div class="caution"><strong class="caution">Предостережение</strong>
      <p class="simpara">
       <code class="literal">phar.require_hash</code> не обеспечивает безопасности как таковой -
       это всего лишь мера по защите от запуска повреждённого 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-архивов, для которых необходимо
      осуществить предварительный разбор в момент старта веб-сервера.
      Обеспечивает повышение производительности за счёт запуска файлов вне
      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:\путь\к\phar1.phar;C:\путь\к\phar2.phar
в php.ini (unix):
phar.cache_list =/путь/к/phar1.phar:/путь/к/phar2.phar
</pre></div>
       </div>

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