Как выполнить команду shell_exec - PullRequest
0 голосов
/ 21 мая 2019

На самом деле я работаю над сценарием PHP, который использует переменные POST для выполнения сценария PowerShell. Но почему-то скрипт не запускается.

Я много чего перепробовал с shell_exec: кавычки изменение пути к сценарию но ничего не изменилось: /

<?php
    //Shell_Exec ('powershell.exe -executionpolicy bypass -NoProfile -Command "Get-Process | ConvertTo-Html"');
    //storaging the variables passed by POST
    $LastName = $_POST["LastName"];
    $FirstName = $_POST["FirstName"];
    $type = $_POST["type"];
    $begin = $_POST["begin"];
    $end = $_POST["end"];
    $desc = $_POST["desc"];
    $command = shell_exec('./Script.ps1 -FirstName "'.$FirstName.'" -LastName "'.$LastName.'" -Description "'.$desc.'" -Type "'.$type.'" -AGOL $true ');
?>

выполнение этого должно создать PDF-файл, но ничего не получится. Мой shell_exec правильный? Спасибо за вашу помощь!

Ответы [ 3 ]

0 голосов
/ 21 мая 2019

В одном из имен переменных есть опечатка, которая может вызывать проблемы.

<?php
    //Shell_Exec ('powershell.exe -executionpolicy bypass -NoProfile -Command "Get-Process | ConvertTo-Html"');
    //storaging the variables passed by POST
    $LastName = $_POST["LastName"];
    $FirstName = $_POST["FirstName"];
    $type = $_POST["type"];
    $begin = $_POST["begin"];
    $end = $_POST["end"];
    $desc = $_POST["desc"];

    /*
     * Use $FirstName, not $FristName
     */
    $command = shell_exec('./Script.ps1 -FirstName "'.$FirstName.'" -LastName "'.$LastName.'" -Description "'.$desc.'" -Type "'.$type.'" -AGOL $true ');  
?>
0 голосов
/ 21 мая 2019

Что отображается на выходе?

<code> <?php
$output = shell_exec('Script.ps1 -FirstName "'.$FristName.'" -LastName "'.$LastName.'" -Description "'.$desc.'" -Type "'.$type.'" -AGOL $true');
echo "<pre>$output
";

?>

0 голосов
/ 21 мая 2019
    $command = shell_exec('powershell ./Script.ps1 -FirstName "'.$FristName.'" -LastName "'.$LastName.'" -Description "'.$desc.'" -Type "'.$type.'" -AGOL $true ');

Добавление powershell к началу функции shell_exec должно дать желаемые результаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...