在同一PHP目录中有一个名为pygmentize2.exe的程序。 我无法使用exec获得任何输出:
$result = iconv('cp950',
'UTF-8',
shell_exec('pygmentize2.exe -f html test.py 2>&1'));
echo $result;
然后我尝试:-
$process = proc_open("pygmentize2.exe -f html test.py", array(2 =>
array("pipe", "w")), $pipes);
// Get stuff from stderr, because `at` prints out there for some odd reason
if(is_resource($process)) {
$output = stream_get_contents($pipes[2], 100);
fclose($pipes[2]);
$return_value = proc_close($process);
}
$ return_value为1,而$ output仍为NULL
即使我更改为exec
$arr = array();
exec('pygmentize2.exe -f html test.py 2>&1',$arr);
$output_string = join( "\n", $arr );
echo $output_string;
还是,什么也没得到
有人说我应该使用绝对路径在Windows下执行。
C:\\xampp\\htdocs\\pygmentize2.exe
仍然不起作用
但是在cmd中,程序似乎运行正常。
编辑
我的Windows有两个用户帐户
Apache是由user1安装的,而我是在user2上运行的
我停止Apache并在user1上重新运行,