从PHP运行Dos命令
我正在尝试使用PHP中的一个命令,使用cygwyn打印一个文件。下面是我的代码。我可以从命令行使用它,但是,当我从PHP运行它时,它不起作用从PHP运行Dos命令,php,cygwin,dos,Php,Cygwin,Dos,我正在尝试使用PHP中的一个命令,使用cygwyn打印一个文件。下面是我的代码。我可以从命令行使用它,但是,当我从PHP运行它时,它不起作用 exec ('\cygwin\bin\bash.exe -c "/scripts/print.sh"'); 这里可能出了什么问题 更多信息: 脚本print.sh: #!/usr/bin/bash /usr/bin/lpr -d TSP143LAN /spool/order1.txt TSP143LAN是我的打印机 我还试着使用directexec命
exec ('\cygwin\bin\bash.exe -c "/scripts/print.sh"');
这里可能出了什么问题
更多信息:
脚本print.sh:
#!/usr/bin/bash
/usr/bin/lpr -d TSP143LAN /spool/order1.txt
TSP143LAN是我的打印机
我还试着使用directexec命令
exec ('c:\cygwin\bin\lpr.exe -d TSP143LAN c:\cygwyn\spool\order1.txt', $output);
var_dump($output);
我看到的输出是
array (size=0)
empty
尝试添加cygwin的完整路径,即:
shell_exec('C:\cygwin\bin\bash.exe -c "/scripts/print.sh"');
编辑:
检查php手册下面链接的该用户的评论
试着给它一个输出变量(第二个参数),以便调试。另外,检查PHP是否正在同一文件夹中运行该命令。例如,要求它只执行
dir
,您应该知道它在哪里。有错误消息吗?您是否尝试过更简单的exec(“dir”)代码>?是的。我可以从exec(“dir”)中看到值。我还尝试了exec('c:\cygwin\bin\bash.exe',$output);变量转储(输出);我看到array(size=0)emptyI刚刚从类似情况的人那里找到了一条有用的评论,有很多东西要检查。