2016-10-18 4 views
2

Я пытаюсь запустить это:PHP shell_exec - Powershell не работает

shell_exec("powershell -File C:\inetpub\wwwroot\altirisinstall\startinstall.ps1 $computername > /dev/null &"); 

Он отлично работает до тех пор, как я удалить:

/Dev/нуль &

Однако , что заставляет веб-сайт приостанавливаться и ждать завершения скрипта. Когда у меня есть это, сценарий никогда не запускается.

Я также попытался это и останавливает PS1 от работы, а также:

/Dev/нуль 2>

Edit: Мне нужен способ, чтобы мой php запускает сценарий powershell на сервере Windows и не дожидается ответа. Ожидание заставляет мой веб-сайт зависать и запрещает пользователям запускать новую команду. Я исследовал и нашел вышеупомянутые решения, но кто-то указал, что это для Linux-серверов. Есть ли другой способ выполнить мой сценарий powershell и не ждать ответа?

Edit2: Я не могу получить PowerShell для запуска на всех сейчас, SQL-команда работает отлично и обновления страницы, но PowerShell никогда не работает, вот код:

<?php 
if(isset($_POST['Submit'])) { 
    $connectionInfo = array("Database"=>"database", "UID"=>"username", "PWD"=>"password"); 
    $conn = sqlsrv_connect("server", $connectionInfo); 
    $params = array(); 
    $username = $_SERVER['AUTH_USER']; 
    $computername = $_POST['CName']; 
    $time = date("m/d - g:i a"); 
    $sql2 = "INSERT INTO dbo.Installs (Hostname, Status, Username, Time) VALUES (?, ?, ?, ?)"; 
    $var = array($computername, "InProgress", $username, $time); 
    sqlsrv_query($conn, $sql2, $var); 
    sqlsrv_close($conn); 

    shell_exec("powershell.exe -File C:\inetpub\wwwroot\altirisinstall\startinstall.ps1 $computername"); 
    sleep(5); 

    header("Refresh:0"); 
} 
?> 
+5

В Windows нет такой вещи, как '/ dev/null'. – Pete

+0

А, ну что ж, к сожалению. Это объясняет, почему это не работает. – Jack

+0

'> NUL' должен быть одинаковым в окнах – apokryfos

ответ

0

Eсть нет решения для этой проблемы. Это мера безопасности в IIS, что я не хочу тратить время, пытаясь обойти. Я пошел по другому пути, спасибо за помощь.

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