Я пытаюсь запустить приложение - в частности, выделенный выделенный сервер - через веб-интерфейс. Я делаю это, используя следующий код:PHP Exec не запускает приложение
$old_path = getcwd();
chdir("[PATH]");
$tmp = exec("srcds -console -game tf +map ctf_2fort");
chdir($old_path);
К сожалению, сайт зависает и никогда не загружается. Выполнение такой же точной команды в командной строке работает отлично, запуск exec("echo %cd%")
выводит правильный путь, я могу запускать другие вещи (например, образец .bat, который просто отгоняет %time%
) из папки, и так далее и т. Д.
Я был в состоянии сделать нагрузки на сайт, перенаправляя стандартный вывод на /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