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