0

为了简化问题,我在 WAMP windows XP 系统上的 PHP 中运行批处理文件,我试图从 PHP 文件启动 notepad.exe。我有一个包含...的 PHP 文件

<?php
exec('c:\windows\notepad.exe');
?>

当我运行 PHP 文件时,我可以看到 notepad.exe 进程在任务管理器中启动,但记事本本身没有打开。我究竟做错了什么?

4

2 回答 2

1

您尝试做的不是正确的方法,记事本应用程序不是在后台执行操作的进程。但是,如果您想执行一个比通过以下方式花费时间的命令,您可以在后台运行外部程序。意味着 PHP 不会等待外部程序终止。

$cmd = "somecommand";
if (substr(php_uname(), 0, 7) == "Windows"){ 
    pclose(popen("start /B ". $cmd, "r"));  
} 
else { 
    exec($cmd . " > /dev/null &");   
} 

希望这会帮助你。

于 2013-10-01T21:51:15.313 回答
0

如果您希望记事本以交互方式运行,您可以使用PSEXEC

您可以使用 exec 命令从 PHP 运行批处理文件,并且 psexec 能够在批处理文件中以交互方式运行应用程序。

于 2013-10-01T21:53:16.807 回答