Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Izolacja exec() ?
Forum PHP.pl > Forum > PHP
Skie
Witam wszystkich,
dzisiaj "odkryłem", że funkcja PHPowa exec() współdzieli resource'y pomiędzy procesem wykonawczym i będącym wykonywanym. Exec() zachowuj się pod tym względem analogicznie to passthru, system, shell_exec i proc_open. Czy istnieje jakaś metoda / biblioteka, która umożliwiłaby mi wykonanie zewnętrznej komendy konsoli całkowicie odizolowanej od procesu, w którym została wywołana?

Dla ścisłości, nawet tego typu wywołanie nie odizolowuje procesu.
  1. exec("(setsid php plik </dev/null >/dev/null 2>&1 &) &");
emstawicki
Musiałbyś połączyć się z powłoką, zalogować jako użytkownik, oraz wysłać komendę do wykonania.
Skie
W jaki sposób mógłbym to zrobić z poziomu PHP? Gdybyś mógł rzucić jakiś artykuł lub link na ten temat, byłbym wdzięczny.
rafkon1990
PHP SSH ?
emstawicki
Sprawna i rozbudowana:
http://phpseclib.sourceforge.net/ssh/examples.html
Skie
Nie jestem w stanie teraz sprawdzić, czy to rozwiąże mój problem, ale wygląda zachęcająco. Niestety najwcześniej będę mógł dokonać reewaluacji tego rozwiązania za jakieś 2 lub 3 tyg, więc należy Wam się punkcik za pomoc, jakbym potem zapomniał smile.gif Dzięki.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.