为了简化问题,我在WAMP Windows XP系统上运行PHP内的批处理文件,我试图从PHP文件启动notepad.exe。我有一个包含....的PHP文件。
<?php
exec('c:\windows\notepad.exe');
?>
当我运行PHP文件时,我可以在任务管理器中看到notepad.exe进程启动,但记事本本身无法打开。我做错了什么?
答案 0 :(得分:1)
您尝试做的不是正确的方法,记事本应用程序不是在后台执行操作的过程。但是如果你想执行一个需要时间的命令,那么你可以在后台运行外部程序。意味着PHP不会等待外部程序终止。
$cmd = "somecommand";
if (substr(php_uname(), 0, 7) == "Windows"){
pclose(popen("start /B ". $cmd, "r"));
}
else {
exec($cmd . " > /dev/null &");
}
希望这会对你有所帮助。
答案 1 :(得分:0)
如果您想让记事本以交互方式运行,您可以使用PSEXEC。
您可以使用exec命令从PHP运行批处理文件,psexec可以从批处理文件中以交互方式运行应用程序。