나는 내 뇌와 내 PC를 망가 뜨리며 누군가 나를 도와 줄 수 있기를 바란다.인수를 사용하여 PHP에서 powershell 스크립트를 실행
필자는 PHP 사이트에서 실행 및 실행 가능한 powershell 스크립트를 실행해야합니다. 내가 전체 명령을 에코 할 때, 그것은 완벽한 외모와 복사 할 수 있으며,
param(
[string]$CMD,
[string]$action,
[string]$paras
)
& $CMD $action $paras
현재 :
는이 .ps1를 호출하는 PHP는define('updaterPath','C:\\artemis\\DbUpdateUtility1.0.12.2');
define('outputLocation',updaterPath.'\\Output');
$CMD = updaterPath . '\\ArtemisXmlUtil.exe';
$action = 'import';
$args= ' -f' . outputLocation;
$psScriptPath = '.\\get-process.ps1';
$query = shell_exec("powershell -command $psScriptPath -cmd '$CMD' -action '$action' -paras '$args' < NUL");
내 .ps1입니다 스크립트가
입니다 powershell에 붙여 넣기를 성공적으로 수행하지만 실제로 PHP에서 실행하려고하면 $ CMD 변수로만 실행되고 $ action 및 $ paras는 무시됩니다.
변수를 모두 1 개의 문자열로 concactenating했지만 실행 파일을 볼 수 없기 때문에 실패했습니다.
이C:\artemis\DbUpdateUtility1.0.12.2\ArtemisXmlUtil.exe import -fC:\artemis\DbUpdateUtility1.0.12.2\Output