<?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 => 'ru',
  ),
  'this' => 
  array (
    0 => 'install.pecl.static.php',
    1 => 'Компиляция модулей PECL статически в PHP',
    2 => 'Компиляция модулей PECL статически в PHP',
  ),
  'up' => 
  array (
    0 => 'install.pecl.php',
    1 => 'Установка PECL-модулей',
  ),
  'prev' => 
  array (
    0 => 'install.pecl.php-config.php',
    1 => 'php-config',
  ),
  'next' => 
  array (
    0 => 'install.composer.intro.php',
    1 => 'Знакомство с пакетным менеджером Composer',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ru',
    '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.static" class="sect1">
  <h2 class="title">Компиляция модулей PECL статически в PHP</h2>
  <p class="simpara">
   Возможно, потребуется собрать модуль PECL статично в бинарный файл PHP.
   Для этого исходный код модуля размещают в каталоге
   <var class="filename">/path/to/php/src/dir/ext/</var> и вызывают перегенерацию конфигурационных скриптов
   через систему сборки PHP.
  </p>
  <p class="para">
   <div class="example-contents screen">
<div class="cdata"><pre>
$ cd /path/to/php/src/dir/ext
$ pecl download extname
$ gzip -d &lt; extname.tgz | tar -xvf -
$ mv extname-x.x.x extname
</pre></div>
   </div>
  </p>
  <p class="simpara">
   Это создаст следующую директорию:
  </p>
  <div class="example-contents screen">
<div class="cdata"><pre>
/path/to/php/src/dir/ext/extname
</pre></div>
  </div>
  <p class="simpara">
   Затем PHP потребуется принудительно пересобрать скрипт конфигурации,
   после чего скрипт конфигурации собирается как обычно:
  </p>
  <div class="example-contents screen">
<div class="cdata"><pre>
$ cd /path/to/php/src/dir
$ rm configure
$ ./buildconf --force
$ ./configure --help
$ ./configure --with-extname --enable-someotherext --with-foobar
$ make
$ make install
</pre></div>
  </div>
  <blockquote class="note"><p><strong class="note">Замечание</strong>: 
   <span class="simpara">
    Для запуска скрипта <strong class="command">buildconf</strong> потребуется
    команда <strong class="command">autoconf</strong> версии <code class="literal">2.68</code>
    и команда <strong class="command">automake</strong> версии <code class="literal">1.4+</code>.
    Иногда работают и более новые версии скрипта <strong class="command">autoconf</strong>,
    но не поддерживаются.
   </span>
  </p></blockquote>
  <p class="simpara">
   При сборке встроенного модуля указывают команду <strong class="option configure">--enable-extname</strong>,
   а для модулей с внешними зависимостями — <strong class="option configure">--with-extname</strong>.
   При сборке модуля, который не требует внешних библиотек,
   указывают параметр <strong class="option configure">--enable</strong>.
   Для проверки синтаксиса параметра конкретного расширения выполните после запуска скрипта <strong class="command">buildconf</strong> следующую команду:
  </p>
  <div class="example-contents screen">
<div class="cdata"><pre>
$ ./configure --help | grep extname
</pre></div>
  </div>
 </div><?php manual_footer($setup); ?>