windows上的php命令行

windows上的php命令行,php,command-line,wamp,Php,Command Line,Wamp,我正在WAMP上使用php。 我正试图在abc目录下运行一个外部程序prog.exe,该程序使用一个数值参数。 DOS命令行上的以下命令工作正常 c:\abc\prog.exe 1234 但当我在php脚本中执行时,它不会运行 $val="1234"; $comm = passthru("C:\abc\prog.exe ".$val) 但是 很好 我正在运行Windows7 另外,我还尝试了system()和shell\u exec()\需要转义为\,否则应该使用单引号 要么: passth

我正在
WAMP
上使用
php
。 我正试图在abc目录下运行一个外部程序prog.exe,该程序使用一个数值参数。 DOS命令行上的以下命令工作正常

c:\abc\prog.exe 1234
但当我在php脚本中执行时,它不会运行

$val="1234";
$comm = passthru("C:\abc\prog.exe ".$val)
但是

很好

我正在运行Windows7


另外,我还尝试了
system()
shell\u exec()

\
需要转义为
\
,否则应该使用单引号

要么:

passthru("C:\\abc\\prog.exe ".$val);
或:


\
需要转义为
\
,否则应使用单引号

要么:

passthru("C:\\abc\\prog.exe ".$val);
或:



你说的“它不运行”是什么意思?如中所示,prog.exe未获取参数?页面似乎正在加载,但直到超时时才会发生任何事情..prog.exe获取参数。。如果我执行echo(无论我在系统中通过什么),然后在命令行中运行它,很好..你们的程序是做什么的?如果使用此函数启动程序,为了使其在后台继续运行,程序的输出必须重定向到文件或其他输出流。否则将导致PHP挂起,直到程序执行结束。@Kolink的答案应该解决:)你说的“它不运行”是什么意思?如中所示,prog.exe未获取参数?页面似乎正在加载,但直到超时时才会发生任何事情..prog.exe获取参数。。如果我执行echo(无论我在系统中通过什么),然后在命令行中运行它,很好..你们的程序是做什么的?如果使用此函数启动程序,为了使其在后台继续运行,程序的输出必须重定向到文件或其他输出流。否则将导致PHP挂起,直到程序执行结束。@Kolink的答案应该可以解决:)@bsdnoobz嗯。。。我不这么认为?或者
passthru(“C:/abc/prog.exe$val”)@Kolink哦,你说得对。我没有注意到一句话。@Kolink两个都不起作用。。这可能是权限问题还是什么。。windows中chmod的等效值是什么。它必须给出ABC.EXE执行权限。考虑通过PHP的CLI运行脚本。这样你就可以看到它在做什么,如果时间太长,你也可以杀死它。@bsdnoobz嗯。。。我不这么认为?或者
passthru(“C:/abc/prog.exe$val”)@Kolink哦,你说得对。我没有注意到一句话。@Kolink两个都不起作用。。这可能是权限问题还是什么。。windows中chmod的等效值是什么。它必须给出ABC.EXE执行权限。考虑通过PHP的CLI运行脚本。这样你就可以看到它正在做的任何事情,如果时间太长,你也可以杀死它。
passthru('C:\abc\prog.exe '.$val);