#php #apache #terminal
#php #apache #терминал
Вопрос:
Я использую shell_exec для запуска команд терминала через PHP-скрипт —
$output=shell_exec('find -L $APACHE_PREFIX ! -type l ! -type s -perm /g=w -ls');
но проблема в том, что вместо отправки выходных данных в переменную выходные данные выводятся непосредственно на экран терминала.
Комментарии:
1. Вероятно, вывод получен из stderr. Добавьте это в свою командную строку: 2> amp; 1 и, возможно, вы получите это
Ответ №1:
Решением может быть захват буфера :
<?php
ob_start();
$output = shell_exec('find -L $APACHE_PREFIX ! -type l ! -type s -perm /g=w -ls 2>amp;1');
$output_captured = ob_get_contents();
ob_end_clean();
?>
Комментарии:
1. Привет, Лоик, на самом деле эта команда shell_exec выдает тысячи строк вывода, и все же я сталкиваюсь с той же проблемой. Вывод просто наводняет мой терминал.
2. Отредактировано, с этого момента у вас не будет никаких выходных данных.