Выполняет внешнюю программу и отображает вывод

# system

(PHP 4, PHP 5, PHP 7, PHP 8)

system — Выполняет внешнюю программу и отображает вывод

### Описание

function system(string `$command`, int `&$result_code` = `null`): string|false

Функция system() аналогична C-версии функции в том, что выполняет команду `command` и выводит результат.

Вызов функции system() также пытается автоматически сбросить (отправить) буфер вывода веб-сервера после каждой строки вывода, если PHP работает как модуль сервера.

Функция passthru() помогает, когда требуется выполнить команду и вернуть сырые данные из команды без посредников.

### Список параметров

`command`

  Команда, которую выполнит функция.

`result_code`

  Функция запишет в переменную код статуса возврата команды, которую выполнила, если в аргументе `result_code` передали переменную.

### Возвращаемые значения

В случае успешного выполнения функция возвращает последнюю строку вывода команды, иначе возвращается `false`.

### Примеры

Пример #1 Пример запуска внешней команды и вывода результата функцией system()

    <?php

    echo '<pre>';

    // Функция выводит полный результат shell-команды ls,
    // а последнюю строку вывода возвращает в переменной $last_line.
    // Функция сохраняет код возврата команды в переменной $retval
    $last_line = system('ls', $retval);

    // Выводим дополнительную информацию
    echo '
    </pre>
    <hr />Последняя строка вывода: ' . $last_line . '
    <hr />Код возврата: ' . $retval;

    ?>

### Примечания

Внимание

Команду экранируют функцией escapeshellcmd(), а отдельные аргументы команды функцией escapeshellarg(), когда разрешают передавать в функцию пользовательские данные, чтобы пользователи обманом не заставили систему выполнить произвольные команды.

> Замечание: При запуске программы с этой функцией вывод программы перенаправляют в файл или другой поток вывода, чтобы программа продолжала работать в фоновом режиме. PHP зависнет до завершения выполнения программы, если не перенаправить вывод.

### Смотрите также

- exec() - Выполняет внешнюю программу
- passthru() - Выполняет внешнюю программу и отображает необработанный вывод
- popen() - Открывает файловый указатель процесса
- escapeshellcmd() - Экранирует метасимволы командной строки
- pcntl_exec() - Выполняет программу в пространстве текущего процесса
- Оператор исполнения

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open