$out = shell_exec('powershell -command "& {Get-WmiObject win32_Process | where-object {($_.CommandLine -like \"*php*\") } | Select-Object ProcessId,CommandLine,\"MMxDelimiter\" | Format-List}" < NULL');
foreach (explode("MMxDelimiter :",$out) as $Row) {
preg_match_all("/ProcessId[^:]+:[^0-9]+([0-9]+)[^a-z]*CommandLine[^:]+:(.+)/is",$Row,$OutPut);
if (trim($OutPut[1][0]) != "") {
$Files[] = array("ProcessId"=>$OutPut[1][0],"Command"=>preg_replace("/[\n][ ]+/","",$OutPut[2][0]));
}
}
print_r($Files);
此代码通过 power shell 显示工作 php 文件,它在 win7 上运行良好,但由于< NULL
参数原因在 win server 2008 上出现错误。
任何人都可以告诉我如何解决这个问题