2012-07-02 2 views
1

Я пытаюсь реализовать функцию в своем веб-приложении, чтобы предоставить пользователю возможность взаимодействовать с командной строкой на сервере.интерактивная сценария командной строки php

Проблема заключается в возможности интегрировать командную строку с веб-приложением, чтобы любой результат был получен, может быть показан пользователю, даже если процессы все еще работают в фоновом режиме, и любой вход может быть взят и обработан так что это будет как -а функция.

Я попробовал все ехес() shell_exec() я попытался перенаправить результат интерактивной команды по 2> Somefile.txt, но выход не будет являться результатом интерактивной команды

+0

Есть много существующих PHP-оболочек. Вы можете посмотреть, как они разработаны и даже использовать свой код в вашем проекте (если они находятся под бесплатной лицензией (:) – rush

+0

Я не пытаюсь скопировать скрипт php, я пытаюсь использовать скрипт другого языка, используя php? – user1445117

+0

Если вы используете linux, в командной строке вы можете использовать прослушиватель командной строки, как предлагается здесь: http://stackoverflow.com/questions/5135321/bash-script-to-listen-for-shell-command- output –

ответ

0

1. С командами возвращать выход. Использование:

shell_exec - Выполнение команды с помощью оболочки и возвращает полный вывод в виде строки

passthru - Выполнить внешнюю программу и отобразить сырой выход

system - Выполнить внешнюю программу и отобразить вывод

Команды 2.With не возвращают выход. Использование:

система или PassThru затем проверить return_var аргумент и распечатать вывод

system('touch readme.txt', $retval); 
if(!$retval){ 
    print 'Touched file with success'; 
} 

Или

if(!touch('readme.txt', time())){ 
    print 'Whoops, something went wrong...'; 
} 
+0

Это не поможет, потому что, когда я использую shell_exec или любой другой метод, процессы командной строки все еще открыты, и я не могу получить какую-либо из данных. И я не могу отправить какие-либо данные во время их открытия – user1445117

Смежные вопросы