Я считаю, что это то же самое, что и this question, но решение не было предоставлено.PHP - выход PSExec не отображается
У меня есть запрос, который использует Psexec сделать чистый профиль сервера сеанса Оны, и она отлично работает, если положить из командной строки, как показано ниже:
psexec \\profile-server -u username -p password net session
Он будет показывать баннер Psexec (от STDERR), а затем результаты запроса (из stdout).
Однако, когда я запускаю это из PHP, я могу видеть только канал stderr (как при отправке на экран, так и в файл), но не может видеть stdout вообще. Когда я перенаправляю stdout в файл, файл пуст.
Вот PHP:
<?php
$uname_prof = "DOMAIN-USERNAME";
$pw_prof = "DOMAIN-PASSWORD";
$ip = "PROFILE-SERVER";
$query = "psexec.exe \\\\$ip -u $uname_prof -p $pw_prof net session";
$result = exec($query, $output);
echo implode('<br>', $output);
?>
Спасибо!
побочный комментарий - от ЦМД, если я перейти на C: \ XAMPP \ PHP и выполнить команду «php.exe filename.php», то это показывает штраф stdout (либо в строку cmd, либо в файл) b ut, опять же, не при запуске через веб-браузер. – joshnik
попробуйте с xcmd - http://feldkir.ch/xcmd.htm – npocmaka