Uruchomienie z PHP nie daje żadnego wyjścia

Zmagam się zexec(), próbując przechwycić wynik, gdy dodam zadanie za pomocąat Uniksowe polecenie systemowe. Mój problem polega na tym, że nie uruchamia się z mojego skryptu, ale uruchamia go z terminalai PHP w trybie interaktywnym drukuje kilka linii.

Polecenie, które chcę wykonać, jest następujące:

echo exec("echo 'php -f /path/to/file.php foo=1' | at now + 1 minutes", $result);

var_dump() dajestring(0) "", iprint_r() wypluwaArray (). Próbowałem użyćshell_exec(), które wyjściaNULL, jednak następujące wyjściahi po uruchomieniu w kontekście strony internetowej:

echo exec("echo 'hi'");

To również wyświetla rzeczy:

echo exec("atq");

Jednak tak szybko, jak używamat, nic nie jest wyprowadzane. Jak mogę uzyskać dane wyjściowe:

exec("echo 'php -f /path/to/file.php foo=1' | at now + 1 minutes", $result);

Ponieważ obecnie nie wypuszcza niczego, gdy jest uruchamiany jako „normalny” przez PHP za pośrednictwem Apache, jednak uruchomienie polecenia w terminalu, a także w interaktywnej konsoli PHP daje mi oczekiwany wynik:

php > echo exec("echo 'php -f /path/to/file.php foo=1' | at now + 1 minutes", $result);
warning: commands will be executed using /bin/sh
job 1219 at Sun Jun 10 12:43:00 2012

safe_mode jest wyłączony i nie mogę zrozumieć, dlaczego nie otrzymuję żadnych wynikówat z wykonaną potokiem instrukcją echaatq lub inne polecająexec() daje mi wyjście. Szukałem i czytałemto pytanie, wszystko bezskutecznie.

Jak mogę zdobyćexec() aby powrócić do wyjściaat do ciągu lub tablicy, jeśli używa się drugiego argumentu za pomocąexec()?

questionAnswers(3)

yourAnswerToTheQuestion