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);