【发布时间】:2013-07-04 18:26:10
【问题描述】:
我正在尝试通过 Web 界面运行应用程序 - 更具体地说是源专用服务器。我正在使用以下代码执行此操作:
$old_path = getcwd();
chdir("[PATH]");
$tmp = exec("srcds -console -game tf +map ctf_2fort");
chdir($old_path);
不幸的是,该网站挂起,并且从未加载过。通过命令提示符运行相同的命令可以完美运行,运行exec("echo %cd%") 输出正确的路径,我可以从文件夹中运行其他东西(例如简单地回显%time% 的示例.bat),等等。
我已经能够通过将 stdout 重定向到 /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 还很陌生,所以如果我有什么明显的遗漏,请说出来。
【问题讨论】: