爲了簡化問題,我在WAMP Windows XP系統上從PHP內部運行批處理文件我試圖從PHP文件啓動notepad.exe。我有一個包含PHP文件....從PHP文件啓動notepad.exe
<?php
exec('c:\windows\notepad.exe');
?>
當我運行PHP文件,我可以看到在任務管理器Notepad.exe進程開始,但記事本本身並沒有打開。我究竟做錯了什麼?
爲了簡化問題,我在WAMP Windows XP系統上從PHP內部運行批處理文件我試圖從PHP文件啓動notepad.exe。我有一個包含PHP文件....從PHP文件啓動notepad.exe
<?php
exec('c:\windows\notepad.exe');
?>
當我運行PHP文件,我可以看到在任務管理器Notepad.exe進程開始,但記事本本身並沒有打開。我究竟做錯了什麼?
你想要做的不是正確的方式,記事本應用程序不是在後臺執行操作的過程。但是如果你想執行一個需要時間的命令,那麼你可以在後臺運行外部程序。意味着PHP不會等待外部程序終止。
$cmd = "somecommand";
if (substr(php_uname(), 0, 7) == "Windows"){
pclose(popen("start /B ". $cmd, "r"));
}
else {
exec($cmd . " > /dev/null &");
}
希望這會幫助你。
向我們展示您的代碼和錯誤。 – Aristona
您無法從服務中啓動交互式程序(例如記事本)。如果那個程序彈出了一個模型對話框或者其他的東西,這樣的事情會完全殺死一個服務器。 –
你介意描述你試圖「簡化」的問題嗎? – nietonfir