我試圖運行一個應用程序 - 更具體地說是源專用服務器 - 通過網絡接口。我正在使用以下代碼執行此操作:PHP執行不啓動應用程序
$old_path = getcwd();
chdir("[PATH]");
$tmp = exec("srcds -console -game tf +map ctf_2fort");
chdir($old_path);
不幸的是,該網站掛起,並且從不加載。通過命令提示符運行相同的確切命令完美地工作,運行exec("echo %cd%")
輸出正確的路徑,我可以從文件夾中運行其他東西(例如簡單地回顯%time%
的示例.bat),等等。
我已經能夠通過標準輸出重定向到/dev/null/
(含更換$tmp =
線,使網站加載了:)
$tmp = exec("srcds -console -game tf +map ctf_2fort > /dev/null");
雖然這使網站的加載,應用程序將永遠不會運行(和該進程不會出現在任務管理器中)。
我試着輸出到一個文件,但這只是輸出兩行,第一個說Using breakpad minidump system
,第二個空。它也不啓動應用程序。
$tmp = exec("srcds -console -game tf +map ctf_2fort > tmp.txt");
我在茫然,我應該做的 - 我是相當新的PHP,所以如果有什麼明顯我丟失,請不要這麼說。
不幸的是,這些問題與以前一樣;該頁面從不加載。將輸出寫入一個變量只會返回一個0長度的數組(當重定向stdout時,因爲它不會啓動,所以很顯然輸出爲空) – Birjolaxew