PHP получить iscsi выход Linux - PullRequest
       8

PHP получить iscsi выход Linux

0 голосов
/ 21 сентября 2011

Я пытаюсь использовать exec (), system (), passthru () или что-нибудь для чтения в выводе iscsiadm -m session, мне не повезло, и я немного потерял.

Что я (думаю, я) знаю:

  • Это не проблема sudoers или разрешений, поскольку результаты одинаковы в терминале или браузере (и мои sudoers уже успешно настроены для использования iscsiadm для входа / выхода)
  • При выполнении следующей команды из терминала, iscsiadm -m session > /tmp/scsi_sess возвращает пустой scsi_sess файл

Что мне нужно знать:

  • Куда отправляется вывод, что я не могу прочитать его с помощью скрипта bash или php, но вижу в терминале?
  • Как я могу прочитать вывод или получить результат, отправленный куда-нибудь, чтобы я мог его прочитать?

1 Ответ

0 голосов
/ 21 сентября 2011

С вашим синтаксисом вы ловите только стандартный вывод.Вы должны перенаправить stderr на стандартный вывод с помощью

iscsiadm -m session 2>&1 /tmp/scsi_sess

Помните, что когда вы делаете перенаправление с помощью > file и по-прежнему видите вывод, этот вывод поступает из stderr, а не из stdout

http://en.wikipedia.org/wiki/Standard_streams

...