<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/install.pecl.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'uk',
  ),
  'this' => 
  array (
    0 => 'install.pecl.windows.php',
    1 => 'Встановлення розширень PHP на Windows',
    2 => 'Встановлення розширень PHP на Windows',
  ),
  'up' => 
  array (
    0 => 'install.pecl.php',
    1 => 'Встановлення розширень PECL',
  ),
  'prev' => 
  array (
    0 => 'install.pecl.downloads.php',
    1 => 'Завантаження розширень PECL',
  ),
  'next' => 
  array (
    0 => 'install.pecl.pear.php',
    1 => 'Компіляція PECL через команду pecl',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'uk',
    'path' => 'install/pecl.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="install.pecl.windows" class="sect1">
  <h2 class="title">Встановлення розширень PHP на Windows</h2>
  <p class="para">
   На Windows, ви маєте два варіанта для завантаження розширень PHP: або
   компілювати їх в PHP, або завантажити DLL. Завантаження вже компільованих
   розширень є простішим та рекомендованим варіантом.
  </p>
  <p class="para">
   Щоб підключити розширення, вам потрібно мати доступний файл &quot;.dll&quot; на вашій
   системі. Всі розширення автоматично та періодично компілюються Групою PHP
   (дивіться наступний блок для завантажень).
  </p>
  <p class="para">
   Щоб компілювати розширення в PHP, ознайомтесь з документацією
   <a href="install.windows.building.php" class="link">Збірка із сирців</a>.
  </p>
  <p class="para">
   Для компіляції окремого розширення (тобто файлу DLL), ознайомтесь з
   документацією <a href="install.windows.building.php" class="link">Збірка із сирців</a>.
   Якщо DLL-файла немає ні в дистрибутиві PHP, ні в PECL, вам потрібно
   самостійно скомпілювати це розширення перед його використанням.
  </p>

  <div class="sect2" id="install.pecl.windows.find">
   <h3 class="title">Де можна знайти розширення?</h3>
   <p class="para">
    Розширення PHP зазвичай мають назву &quot;php_*.dll&quot; (де зірочкою позначено назву
    розширення) та розміщені в директорії &quot;PHP\ext&quot;.
   </p>
   <p class="para">
    PHP поставляється з найбільш корисними розширеннями для більшості
    розробників. Вони називаються &quot;core&quot; (тобто основними) розширеннями.
   </p>
   <p class="para">
    Тим не менше, якщо вам потрібна функціональність, яку не надає жодне із
    основних розширень, вам ще можна пошукати його в PECL. PHP Extension
    Community Library (PECL), що перекладається як Бібліотека Розширень
    Спільноти PHP, є сховищем Розширень PHP, що надає місце під хостинг
    всім відомим розширенням, забезпечуючи можливість для їхнього завантаження
    та розробки.
   </p>
   <p class="para">
    Якщо ви хочете розробляти розширення для власного використання, ви можете
    розраховувати на розміщення його на хостингу PECL, щоб інші люди також
    могли отримати вигоду від його використання. Гарним побічним ефектом цього
    є те, що ви даєте іншим людям хороший шанс щоб вони тримали з вами зворотній зв&#039;язок
    (сподіваємось) для висловлення вдячності, для звітування про неполадки та
    події виправлення/латання (англ. fixes/patches). Перед тим як розмістити
    ваше розширення на хостингу PECL, прохання прочитати
    <a href="https://pecl.php.net/package-new.php" class="link external">&raquo;&nbsp;PECL submit</a>.
   </p>
  </div>

  <div class="sect2" id="install.pecl.windows.which">
   <h3 class="title">Яке розширення завантажувати?</h3>
   <p class="para">
    <em>Дуже часто, ви можете знайти декілька версій кожної DLL:</em>
    <ul class="itemizedlist">
     <li class="listitem">
      <span class="simpara">
       З різними номерами версій (принаймні перші дві цифри повинні збігатись)
      </span>
     </li>
     <li class="listitem">
      <span class="simpara">
       З різним налаштуванням збереження потоків (thread safety)
      </span>
     </li>
     <li class="listitem">
      <span class="simpara">
       З різними архітектурами процесорів (x86, x64, ...)
      </span>
     </li>
     <li class="listitem">
      <span class="simpara">
       З різним налаштуванням відладки
      </span>
     </li>
     <li class="listitem">
      <span class="simpara">
       <code class="literal">і т.д.</code>
      </span>
     </li>
    </ul>
   </p>
   <p class="para">
    Також слід пам&#039;ятати, що всі ваші налаштування розширень повинні бути
    відповідними до всіх налаштувань, які ви використовуєте для виконавчих
    файлів PHP. Наступний скрипт PHP може надати інформацію про
    <em>всі</em> ваші налаштування PHP:
   </p>
   <p class="para">
    <div class="example" id="example-1">
     <p><strong>Приклад #1 Виклик <span class="function"><a href="function.phpinfo.php" class="function">phpinfo()</a></span></strong></p>
     <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />phpinfo</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
     </div>

    </div>
   </p>
   <p class="para">
    Або запустіть з командного рядка:
    <div class="example-contents screen">
<div class="cdata"><pre>
диск:\\шлях\до\php\php.exe -i
</pre></div>
    </div>
   </p>
  </div>

  <div class="sect2" id="install.pecl.windows.loading">
   <h3 class="title">Завантаження розширень</h3>
   <p class="para">
    Найпоширеніший способіб підключення розширення PHP - це включення його у
    конфігураційному файлі <var class="filename">php.ini</var>. Також пам&#039;ятайте, що
    більшість розширень вже представлено у вашому файлі
    <var class="filename">php.ini</var>, та вам достатньо лише видалити символ крапки
    з комою (тобто розкоментувати їх), щоб вони стали активними.
    <div class="example-contents screen">
<div class="cdata"><pre>
;extension=php_extname.dll
</pre></div>
    </div>
    <div class="example-contents screen">
<div class="cdata"><pre>
extension=php_extname.dll
</pre></div>
    </div>
   </p>
   <p class="para">
    І все ж, деякі веб-сервери плутаються, оскільки не використовують
    <var class="filename">php.ini</var>, який розташовано поруч з виконавчим файлом PHP.
    Щоб знайти звідки фактично читається ваш <var class="filename">php.ini</var>,
    прогляньте шлях в <span class="function"><a href="function.phpinfo.php" class="function">phpinfo()</a></span>:
    <div class="example-contents screen">
<div class="cdata"><pre>
Configuration File (php.ini) Path  C:\WINDOWS
</pre></div>
    </div>
    <div class="example-contents screen">
<div class="cdata"><pre>
Loaded Configuration File   C:\Program Files\PHP\5.2\php.ini
</pre></div>
    </div>
   </p>
   <p class="para">
    Після активації розширення, збережіть <var class="filename">php.ini</var>,
    перезавантажте веб-сервер, та перевірте вивід <span class="function"><a href="function.phpinfo.php" class="function">phpinfo()</a></span>
    знову. Нове розширення тепер повинно бути в його власному блоці.
   </p>
  </div>

  <div class="sect2" id="install.pecl.windows.problemsolving">
   <h3 class="title">Вирішення проблем</h3>
   <p class="para">
    Якщо розширення не представлено у виводі <span class="function"><a href="function.phpinfo.php" class="function">phpinfo()</a></span>,
    вам варто перевірити ваші журнали помилок, щоб прослідкувати що є причиною
    проблеми.
   </p>
   <p class="para">
    Якщо ви використовуєте PHP з командного рядка (CLI), помилки при
    завантаженні розширення можна читати безпосередньо з екрану.
   </p>
   <p class="para">
    Якщо ви використовуєте PHP із веб-сервером, розташування та формат журнала
    помилок дуже залежать від налаштування веб-сервера. Так що прочитайте
    документацію веб-сервера, щоб знайти журнали помилок, оскільки це не
    залежить від самої PHP.
   </p>
   <p class="para">
    Поширеною проблемою є розташування DLL, значення параметра <a href="ini.core.php#ini.extension-dir" class="link">
    extension_dir</a> всередині <var class="filename">php.ini</var> та
    невідповідність налаштувань під час компіляції.
   </p>
   <p class="para">
    Якщо проблема полягає у невідповідності налаштувань під час компіляції,
    ймовірно, ви не правильно завантажили DLL. Спробуйте завантажити розширення
    знову, але з правильними налаштуваннями. Нагадаємо, <span class="function"><a href="function.phpinfo.php" class="function">phpinfo()</a></span> 
    може дуже допомогти.
   </p>
  </div>

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