有什麼方法可以在php文件中執行makefile?我曾嘗試:如何在php文件中執行makefile
exec('cmd /c "C:\\Program Files\\Microsoft Visual Studio\\VC98\\Bin\\nmake.exe" -f E:\\dev\\temp.mak > process.out 2> process.err < /dev/null &');
但我DONOT覺得這種方式得到的makefile運行。
有什麼方法可以在php文件中執行makefile?我曾嘗試:如何在php文件中執行makefile
exec('cmd /c "C:\\Program Files\\Microsoft Visual Studio\\VC98\\Bin\\nmake.exe" -f E:\\dev\\temp.mak > process.out 2> process.err < /dev/null &');
但我DONOT覺得這種方式得到的makefile運行。
嘗試不同的方法來做到這一點,創建一個Windows批處理文件在您的PHP目錄相同的地方;
cd C:\"Program Files"\"Microsoft Visual Studio"\VC98\Bin
nmake.exe -f E:\dev\temp.mak > process.out 2> process.err
*結合Zids評論這個:*
你將如何在命令行中執行它,如果你沒有使用PHP? - rid
如果上述方法不起作用。通過在Windows命令提示符下運行,在線搜索該exe文件的用法,然後相應地更改.batch文件。 *
保存此作爲.batch
文件,然後從你的PHP嘗試運行
exec ("filename.bat", $output);
然後
查看由exec命令在一個簡單的foreach循環
foreach ($output AS $OutputStr)
{
echo $OutputStr."<br>";
}
進行輸出
應該有一些輸出,從輸出我會與之合作。
爲什麼不這樣做:
$make = escapeshellarg("C:\Program Files\Microsoft Visual Studio\VC98\Bin\nmake.exe");
$path = escapeshellarg("E:\dev\temp.mak");
exec("start /B {$make} -f {$path} > process.out 2> process.err");
start /B
將在後臺執行程序
> process.out
將標準輸出重定向到 「process.out」 文件
2> process.err
將重定向錯誤輸出到「process.err」文件
在此示例中,每次運行make
時,將刪除process.out
和process.err
。爲了避免這種行爲,只需用>>
代替>
符號,並且會附加文件。
謝謝,你能不能讓我知道我可以給makefile的路徑? – user1558064
是,已編輯。讓我知道如果需要 –
非常感謝!我還可以問:當我使用start/B時,它似乎永遠運行,但是當我使用cmd/c時,我立即得到了輸出。再次感謝您幫助初學者。另外,你是否也知道如何在Web上輸出輸出而不是輸出文件? – user1558064
你將一些linux命令行混合到那個windows的一箇中。或者反之亦然 – 2012-12-04 19:01:36
我給:cmma的「nmake -f Makefile」來構建我的東西。 – user1558064
對不起,請你糾正我的混音?是嗎 & ? – user1558064