<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/features.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ru',
  ),
  'this' => 
  array (
    0 => 'features.commandline.php',
    1 => 'Работа с PHP из командной строки',
    2 => 'Работа с PHP из командной строки',
  ),
  'up' => 
  array (
    0 => 'features.php',
    1 => 'Особенности',
  ),
  'prev' => 
  array (
    0 => 'features.persistent-connections.php',
    1 => 'Постоянные соединения с базами данных',
  ),
  'next' => 
  array (
    0 => 'features.commandline.differences.php',
    1 => 'Основные отличия от остальных реализаций SAPI',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ru',
    'path' => 'features/commandline.xml',
  ),
  'history' => 
  array (
  ),
  'extra_header_links' => 
  array (
    'rel' => 'alternate',
    'href' => '/manual/en/feeds/features.commandline.atom',
    'type' => 'application/atom+xml',
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="features.commandline" class="chapter">
 <h1 class="title">Работа с PHP из командной строки</h1>
<h2>Содержание</h2><ul class="chunklist chunklist_chapter"><li><a href="features.commandline.differences.php">Основные отличия от остальных реализаций SAPI</a></li><li><a href="features.commandline.options.php">Опции</a></li><li><a href="features.commandline.usage.php">Использование</a></li><li><a href="features.commandline.io-streams.php">Потоки ввода-вывода</a></li><li><a href="features.commandline.interactive.php">Интерактивная консоль</a></li><li><a href="features.commandline.webserver.php">Встроенный веб-сервер</a></li><li><a href="features.commandline.ini.php">Опции конфигурации</a></li></ul>

 

 
 <div id="features.commandline.introduction" class="section">
  <h2 class="title">Введение</h2>

  <p class="para">
   Основная цель <abbr title="Command Line Interpreter/Interface">CLI</abbr> <abbr title="Server Application Programming Interface">SAPI</abbr> — разработка консольных приложений на PHP.
   <abbr title="Command Line Interpreter/Interface">CLI</abbr> <abbr title="Server Application Programming Interface">SAPI</abbr> содержит много отличий от других видов <abbr title="Server Application Programming Interface">SAPI</abbr>, которые
   объясняет эта глава.
   Обратите внимание, что <abbr title="Command Line Interpreter/Interface">CLI</abbr> <abbr title="Server Application Programming Interface">SAPI</abbr> и <abbr title="Common Gateway Interface">CGI</abbr> —
   разные <abbr title="Server Application Programming Interface">SAPI</abbr>-интерфейсы, хотя в их поведении много общего.
  </p>

  <p class="para">
   <abbr title="Command Line Interpreter/Interface">CLI</abbr> <abbr title="Server Application Programming Interface">SAPI</abbr> включается по умолчанию опцией
   <strong class="option configure">--enable-cli</strong>, а отключается
   опцией <strong class="option configure">--disable-cli</strong> при запуске
   команды <strong class="command">./configure</strong>.
  </p>

  <p class="para">
   Имя, расположение и доступность бинарных модулей
   <abbr title="Command Line Interpreter/Interface">CLI</abbr> или <abbr title="Common Gateway Interface">CGI</abbr>-интерфейса различаются в зависимости
   от способа установки PHP в систему. По умолчанию при выполнении
   команды <strong class="command">make</strong> внутри директории с исходным кодом PHP
   в каталоге <var class="filename">sapi/cgi/php-cgi</var> создаётся модуль <abbr title="Common Gateway Interface">CGI</abbr>,
   а в каталоге <var class="filename">sapi/cli/php</var> модуль <abbr title="Command Line Interpreter/Interface">CLI</abbr>.
   Обратите внимание, что оба файла модулей называются одинаково:
   <var class="filename">php</var>.
   Что произойдёт при выполнении <strong class="command">make install</strong>,
   зависит от того, какие опции указали на стадии
   конфигурирования. Команда <strong class="command">make install</strong> скопирует
   в каталог <var class="filename">{PREFIX}/bin/php</var> <abbr title="Command Line Interpreter/Interface">CLI</abbr>-модуль,
   если во время конфигурирования выбрали модуль <abbr title="Server Application Programming Interface">SAPI</abbr>
   наподобие apxs или указали опцию <strong class="option configure">--disable-cgi</strong>,
   иначе команда скопирует в эту директорию <abbr title="Common Gateway Interface">CGI</abbr>-модуль.
   Например, с опцией <strong class="option configure">--with-apxs</strong>
   команда <strong class="command">make install</strong> скопирует в каталог
   <var class="filename">{PREFIX}/bin/php</var> <abbr title="Command Line Interpreter/Interface">CLI</abbr>-версию.
   После команды <strong class="command">make install</strong> запускают
   команду <strong class="command">make install-cli</strong>, когда требуется переопределить
   установку двоичного файла <abbr title="Common Gateway Interface">CGI</abbr>-модуля, или как альтернативу указывают
   в строке конфигурации опцию <strong class="option configure">--disable-cgi</strong>.
  </p>

  <blockquote class="note"><p><strong class="note">Замечание</strong>: 
   <p class="para">
    Опция <strong class="option configure">--enable-cli</strong> в строке
    конфигурации не означает, что команда <strong class="command">make install</strong>
    скопирует <abbr title="Command Line Interpreter/Interface">CLI</abbr> в каталог <var class="filename">{PREFIX}/bin/php</var>,
    поскольку опции <strong class="option configure">--enable-cli</strong>
    и <strong class="option configure">--enable-cgi</strong> включены
    по умолчанию.
   </p>
  </p></blockquote>

  <p class="para">
   Бинарный файл <abbr title="Command Line Interpreter/Interface">CLI</abbr> лежит в главном каталоге PHP-дистрибутива для Windows
   в виде файла <var class="filename">php.exe</var>, а <abbr title="Common Gateway Interface">CGI</abbr>-версия —
   в виде файла <var class="filename">php-cgi.exe</var>.
   Кроме того, в дистрибутив входит файл <var class="filename">php-win.exe</var>,
   если PHP сконфигурировали с опцией <strong class="option configure">--enable-cli-win32</strong>.
   Этот файл эквивалентен <abbr title="Command Line Interpreter/Interface">CLI</abbr>-версии, за исключением того, что ничего не выводит,
   и поэтому при запуске файла не открывает окно Командной строки.
  </p>

  <blockquote class="note"><p><strong class="note">Замечание</strong>: 
   <strong>Как узнать версию SAPI-интерфейса</strong><br />
   <p class="para">
    Вызов в командной оболочке команды <strong class="command">php -v</strong>
    выведет информацию о том, запускается двоичный <var class="filename">php</var>-файл
    как <abbr title="Common Gateway Interface">CGI</abbr>- или <abbr title="Command Line Interpreter/Interface">CLI</abbr>-версия SAPI-интерфейса.
    Информацию о SAPI-версии возвращают также функция <span class="function"><a href="function.php-sapi-name.php" class="function">php_sapi_name()</a></span>
    и константа <strong><code><a href="reserved.constants.php#constant.php-sapi">PHP_SAPI</a></code></strong>.
   </p>
  </p></blockquote>

  <blockquote class="note"><p><strong class="note">Замечание</strong>: 
   <p class="para">
    В Unix-системах страница руководства к интерфейсу CLI
    доступна при вызове команды <code class="literal">man</code>
    в командной оболочке: <strong class="command">man php</strong>.
   </p>
  </p></blockquote>
 </div>
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 

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